는 이제 내가VBA 사용자 정의 폼
Dim form as MyUserForm
Set form = New MyUserForm
form.SomeVar = "Hi"
form.Show ' Displays "Hi" somewhere on the form
처럼 사용하고 모든 벌금과 멋쟁이 MyUserForm
라는 사용자 정의 폼이 있다고 가정 해 봅시다. 그러나 다음은, 이것은 나를 홀수 파업 것입니다뿐만 아니라 작동 : 유형이 정확하게 클래스MyUserForm
을 일부 암시 적으로 선언 객체MyUserForm
있다처럼 보인다
MyUserForm.SomeVar = "Hi"
MyUserForm.Show
! VBA는 실제로 여기서 무엇을하고 있습니까? 이 이상한 관용구를 지배하는 규칙은 무엇입니까? 고맙습니다.
을 두'MyUserForm' 인스턴스를 만든 다음 통화'MyUserForm.Show' 당신은 계층 구조를 발견 할 것입니다. 두 개의'MyUserForm' 중 하나는 활성 userform이며, 당신은'MyUserForm '에 의해 그것을 참조 할 수 있습니다.'클래스 이름을 사용하여 두 개 이상의 userform을 호출하는 것은 좋지 않습니다. ** 항상 ** 특정 인스턴스에 대한 참조를 저장하는 변수 이름을 사용하는 것이 좋습니다. –
나는 그 질문을 잘 이해하지 못한다. 사용자 정의 폼이 UserForms 컬렉션에 추가되면 VBA 코드의 이름으로이를 참조 할 수 있습니다. 하나의 인스턴스가 즉시 사용할 준비가되었습니다. 인스턴스의 새 인스턴스를 만들 필요가 없습니다. 이 중 몇 가지를 원할 경우이 작업을 수행해야합니다. – Kapol