Để sử dụng các sự kiện SlideShowBegin trong Powerpoint, bạn cần phải có một mô-đun lớp cấu hình theo cách sau:Powerpoint VBA App_SlideShowBegin
Public WithEvents App As Application
Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)
MsgBox "SlideShowBegin"
End Sub
Sau đó, bên trong một mô-đun không lớp, bạn phải tạo một đối tượng thuộc loại đó và đặt Ứng dụng thành Ứng dụng.
Dim X As New Class1
Sub InitializeApp()
Set X.App = Application
End Sub
Bây giờ, vấn đề duy nhất tôi có là, nếu bạn không tự gọi là InitializeApp với Menu macro trong Powerpoint, các sự kiện không hoạt động. Bạn phải gọi phụ này trước khi bất cứ điều gì có thể được gọi ở đầu trình chiếu BAO GỒM phụ này.
Làm cách nào tôi có thể gọi về phụ này trước khi chạy powerpoint? Có cách nào tốt hơn để làm điều này?
EDIT:
Tôi đã cố gắng sử dụng Class_Initialize nhưng nó chỉ được gọi khi nó lần đầu tiên được sử dụng hoặc bạn thực hiện một tuyên bố như Dim X as Class1; X = new Class1
Thông thường trình xử lý sự kiện được cài đặt như một phần của bổ trợ, nơi bạn sẽ khởi tạo lớp trong chương trình con Auto_Open, luôn chạy khi bổ trợ tải. Nếu bạn muốn bao gồm một trình xử lý sự kiện trong một bản trình bày duy nhất, một cách để làm cho nó bắt đầu là bao gồm một hình dạng, khi được di chuột qua hoặc nhấp vào một macro, trong đó sẽ xử lý sự kiện của bạn và chuyển sang trang trình bày tiếp theo. –
Bạn có thể đăng bài này làm câu trả lời vì đây là cách tôi sẽ kết thúc. –
Xong. Cảm ơn vì đã cho tôi biết nó hoạt động. –