2014-02-11 3 views
0

클래스 모듈에 객체로 레이블을 전달하려고합니다. 난 단순히 객체 지향 langs에서 간단하지만, 어떻게 든 vba에서 해결책을 찾지 못하는 다른 함수에 객체의 참조를 전달하려고합니다 ... 클래스 모듈은 열심히하고 있습니다. 다른 형태로 사용됩니다. 사용자에게 상태 피드백을주기 위해 클래스 모듈 참조를 레이블에 제공하는 것이 좋습니다.ClassModule 함수에 폼의 레이블 전달하기

(simplyfied) 형태 :

GenericExcelImporter.SetStatusLabel Me.lbReadState 

ClassModule :

Public Sub SetStatusLabel(ByRef lb As Label) 
    Set StatusLabel = lb 
End Sub 

이 원인이 오류 "개체 변수를 설정하지 (오류 91)"

이상한 충분이 예제는 동일한 작업을 수행 :

Dim l As Label 
Set l = Me.lbReadState 
l.Caption = l.Caption ' no error, so the reference seems to be working 
GenericExcelImporter.SetStatusLabel l 'error 91 
+1

'GenericExcelImporter'가 확실히 인스턴스화 되었습니까? –

+1

복제 할 수 없습니다. 문제를 보여주는 완벽한 예를 게시 할 수 있습니까? –

+0

'클래스 '또는'모듈 '을 사용하고 있습니까? 이들은 VBA에서 다른 것들입니다. 모듈은 정적 클래스와 같습니다. 클래스를 인스턴스화해야합니다. – Brad

답변

0

-.- 도움 주셔서 감사합니다. Ms Access에서 오류 소스로 Me.lbReadState를 선택했지만 클래스 모듈이었습니다 ... .... 디버깅 모드가 끝나면 양식이 변경되지 않아도 전역 변수가 지워지는 것을 알지 못했습니다. ..