2012-04-27 6 views
6

파워 포인트에서 SlideShowBegin 이벤트를 사용하려면, 당신은 클래스 모듈은 다음과 같은 방법으로 구성이 있어야 : 내부가 아닌 클래스 모듈의, 그리고파워 포인트 VBA App_SlideShowBegin

Public WithEvents App As Application 

    Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow) 
     MsgBox "SlideShowBegin" 
    End Sub 

을, 당신은을 만들어야합니다 해당 유형의 객체를 선택하고 응용 프로그램을 응용 프로그램으로 설정합니다. 수동 파워 포인트에서 매크로 메뉴로 InitializeApp를 호출되지 않는 경우

Dim X As New Class1 

Sub InitializeApp() 
Set X.App = Application 
End Sub 

이제, 내가 가진 유일한 문제가있다, 이벤트가 작동하지 않습니다. 이 하위를 포함하여 슬라이드 쇼의 시작 부분에서 무엇이라도 호출 할 수 있으려면 먼저이 하위를 호출해야합니다.

파워 포인트를 실행하기 전에이 서브를 호출하면 어떻게됩니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

편집 :

내가 때문에 Class_Initialize를 사용하여 시도했지만 그것은 단지가 먼저 사용되면 호출되는 또는 Dim X as Class1; X = new Class1

+1

일반적으로 이벤트 처리기는 추가 기능이로드 될 때 항상 실행되는 Auto_Open 서브 루틴에서 클래스를 초기화하는 추가 기능의 일부로 설치됩니다. 단일 프리젠 테이션에 이벤트 핸들러를 포함시키려는 경우, 마우스를 moused하거나 클릭하면 이벤트 핸들러에서 다음 슬라이드로 이동하는 매크로가 실행되는 모양을 포함시키는 것이 한 가지 방법입니다. –

+0

답변을 게시 할 수 있습니다. 이것이 내가 어떻게 끝낼 지 알기 때문입니다. –

+0

완료. 작동되었음을 알려 주셔서 감사합니다. –

답변

1

같은 문이 보통 이벤트 핸들러가 추가 기능의 일부로 설치되어 있는지 확인, 여기서 추가 기능이로드 될 때 항상 실행되는 Auto_Open 서브 루틴에서 클래스를 초기화합니다. 단일 프리젠 테이션에 이벤트 핸들러를 포함시키려는 경우, 마우스를 moused하거나 클릭하면 이벤트 핸들러에서 다음 슬라이드로 이동하는 매크로가 실행되는 모양을 포함시키는 것이 한 가지 방법입니다.

+0

갇혀 있어야하는 대부분의 이벤트에는 문제가 없지만 SlideShowBegin 이벤트는 어떻습니까? 슬라이드 쇼가 시작 되 자마자 코드를 실행하려고하지만이 솔루션을 사용하면 슬라이드 쇼가 시작되어 이벤트가 인식되도록하는 코드를 트리거해야합니다. Catch-22처럼 보입니다. – DRC

관련 문제