2011-05-05 2 views
0

다양한 VBA 스크립트 파일을 사용하는 복잡한 형식을 사용하고 싶습니다. 그러나 다른 모듈을 참조 할 때 "Me"가 작동하지 않습니다. 다양한 모듈을 사용하고 단일 파일처럼 사용할 수있는 방법이 있습니까? 또는 다른 우수 사례를 제공 할 수 있습니까? 문제는 2 일 동안 VBA를 사용하는 것입니다.복잡한 양식의 VBA 스크립트를 관리하는 방법은 무엇입니까?

+0

:

Public Sub DoSomethingWithForm(ByRef frm As Form) MsgBox "The name of this form is " & frm.Name End Sub 

그런 양식이 같은 프로 시저를 호출 할 수 있습니다. "나"는 어떤 맥락에서 작동하지 않습니까? 몇 가지 코드를 보여주세요! –

+0

어떤 종류의 모듈에 대해 이야기하고 있습니까? 이 모듈은 Me 키워드 (양식 클래스 모듈 또는 독립 실행 형 클래스 모듈)를 사용하는 클래스 모듈에만 해당됩니다. 일반 독립형 코드 모듈은 Me 키워드를 사용할 수 없습니다. –

답변

2

표준 모듈에 "DoSomethingWithForm"절차가 있다고합시다. 양식 참조를 매개 변수로 예상하도록 수정하십시오. 만큼 당신이 필요로하는 절차는`Public`을 한, 문제가 안 같은 프로젝트에 여러 개의 모듈을 갖는

Private Sub cmdWhoAmI_Click() 
    DoSomethingWithForm Me 
End Sub 
+0

그래서 각 외부 모듈에 대한 인수로 양식을 전달해야합니까? –

+0

당신은 필요가 없습니다. 외부 모듈에서 열려있는 폼을'Forms! form_name' 또는'Forms ("form_name")'로 참조 할 수 있지만,'form_name'을 변경하면 모듈을 변경해야합니다. 필자가 제안한 방식대로, 폼의 이름이 다시 지정되면 코드가 중단되지 않습니다. – HansUp

관련 문제