2009-05-20 6 views
0

내가 간단한 사용자 정의 폼을 만들었습니다 (버튼 클릭 이벤트가 발생하지 않습니다 닫을 수 없습니다)이 응답하지 아웃룩 VBA 매크로 -이 코드를 사용하여 눈에 보이는 형태를 만들 수 있습니다정의 폼에

 
VBA.UserForms.Add (PasswordForm.Name) 
PasswordForm.Show (Modal) 

... 및 UserForm_Initialize() 이벤트가 실제로 발생합니다. 그러나 양식의 "제출"버튼을 클릭하면 아무 것도 실행되지 않습니다. - SubmitButton_Click() 이벤트 (디자이너의 버튼을 두 번 클릭하여 자동 생성 됨)가 실행되지 않습니다. 또한, userform은 창의 오른쪽 상단 모서리에 보통 작은 빨간색 X가 있지만 클릭하면 아무 것도하지 않습니다 (양식이 닫히지 않거나 종료되지 않습니다).

내가 뭘 잘못하고 있을지 모르겠다. 나는 VBA를 처음 접했습니다.

+0

"UserForm_Initialize()"에서 중단 점을 설정하고 디버거에서 코드를 단계별로 실행 해 보셨습니까? BTW 당신은 ​​"VBA.UserForms.Add"를 잘라낼 수 있습니다, 그것은 완전히 중복됩니다. – Tomalak

+0

예, 그렇기 때문에 UserForm_Initialize() 이벤트가 실제로 발생하는 것을 확인했습니다. 문제는 SubmitButton_Click()입니다. 거기에는 중단 점이 절대 도달하지 않습니다. – MGOwen

+0

그리고 VBA.UserForms.Add에 대한 팁 감사합니다. – MGOwen

답변

0

OK는 해결 양식이 더 이상 모달이되지 않습니다 (어쨌든 더 나은 해결책이라고 생각합니다. 모달은 사용자에게 짜증나게 할 수 있습니다. 이제 양식을 제출했는지 확인해야합니다.)

귀하의 제안에 감사드립니다.

+0

당신을 기쁘게합니다. 이제이 답장을 올바른 것으로 표시하십시오. – jpinto3912

+0

이 질문은 오래되었지만 Show Method가 vbModal 또는 vbModeless라는 두 가지 상수를 취하는 것을 추가한다고 생각했습니다. '모달'과 같은 키워드는 없습니다. 놀라는 사람은 아무도 언급하지 않았습니다. – JimmyPena

1

때때로 VBA의 컨트롤이 이벤트에서 분리됩니다. 컨트롤의 이름을 변경했거나 실수로 이벤트 프로 시저의 이름을 변경했기 때문일 수 있습니다 (다른 이유로는 거의 발생할 수 없지만). 또한 양식을 실행하기 전에 "컴파일"을 잊어 버린 경우 문제의 원인이되는 양식에 오류가있을 수 있습니다.

두 번 확인하는 가장 쉬운 방법은 디자인보기에서 양식을 열고 문제의 단추를 선택한 다음 F7 키를 누르는 것입니다. 새 프로 시저가 만들어지면 코드를 붙여 넣은 다음 이전 코드를 복사하여 붙여 넣기하고 이전 코드를 제거하십시오.

"Debug"메뉴로 이동하여 "compile"을 클릭하십시오. 오류가 발견되면 "컴파일"을 다시 클릭하십시오. 불만없이 컴파일 될 때까지 반복하십시오. 그런 다음 양식을 다시 실행하십시오.

PasswordForm.Show (Modal) 

PasswordForm.Show 

에 그리고 내가 그 사실을 수용하는 것이 조금 작동하는 방식을 변경해야하지만 지금은 작품 : 나는 변경 :

+0

@Oorang : 고마워요. 이제 버튼을 삭제하고 처음부터 새로 만들었으며 이벤트 처리자 코드도 그대로 말하고 컴파일했습니다. 같은 문제 - 버튼을 눌렀을 때 아무런 반응이 없습니다 (반응이 없거나 중단 점이 맞지 않거나 양식을 닫아도 작동하지 않음). 다른 생각? – MGOwen

0

Office 03/07에서 모달을 표시하려면 양식의 .ShowModal 동작을 "True"으로 설정하십시오. 쇼 이벤트 중 모달 형식으로 만들려고하는데 문제가있었습니다.

관련 문제