Tự động hóa bài thuyết trình PowerPoint từ Excel
Windows XP - Office 2007 - Excel & PowerPoint
Tôi đang cố gắng sử dụng đoạn mã sau để mở và chạy bản trình chiếu PowerPoint từ Excel.
Sub Run_Presentation()
Dim PP As New PowerPoint.Application
Đặt PP = CreateObject("Powerpoint.Application")
Với các bài thuyết trình ("Presentation100.pptm").Cài đặt trình chiếu
.ShowType = ppShowTypeSpeaker
.ShowWithAnimation = msoCTrue
.AdvanceMode = ppSlideShowUseSlideTimings
.Chạy
Kết thúc bằng
End Sub
Tôi có tham chiếu đến thư viện PowerPoint 12.0 nhưng khi chạy thì gặp lỗi sau:
Thành phần ActiveX không thể tạo đối tượng
Tôi có cần tham khảo thêm tài liệu từ thư viện khác không, hay tôi đã mắc phải lỗi cơ bản nào đó? Tôi thường xuyên sử dụng VBA trong Excel và Access nhưng rất ít khi dùng đến PowerPoint.
Ngoài ra, khi tôi đưa đoạn mã này vào PowerPoint VBA (không có phần CreateObject), PowerPoint mở đúng ở trang chiếu đầu tiên nhưng sau đó không sử dụng chức năng chuyển trang theo thời gian đã được thiết lập.
Rất mong nhận được sự giúp đỡ của mọi người.
Geoff
Trả lời:
CHÀO
Từ các khai báo biến của bạn, có thể thấy bạn đang sử dụng liên kết sớm.
Từ việc gán đối tượng của bạn, liên kết muộn
Dim PP As New PowerPoint.Application
Đặt PP = CreateObject("Powerpoint.Application")
Thay thế: Dim PP As New PowerPoint.Application
Bởi: Dim PP As Object
Trân trọng,
JY
Trả lời:
Hãy thử cách này:
Sub Run_Presentation()
Dim prApp As Object
Dim prPres As Object
Dim prSlide As Object
Dim prName As String
Dim noSlide As Integer
prName = "presentation100.pptm"
không trượt = 1
Khi xảy ra lỗi, tiếp tục.
Set prApp = GetObject(, "PowerPoint.Application")
Nếu Err.Number <> 0 thì
Set prApp = CreateObject("PowerPoint.Application")
prApp.Visible = True
Kết thúc nếu
Khi xảy ra lỗi, chuyển về 0.
Khi xảy ra lỗi, tiếp tục.
Đặt prPres = prApp.Presentations(prName)
Nếu Err.Number <> 0 thì
Set prPres = prApp.Presentations.Open(Filename:=prName)
prPres.Open
Kết thúc nếu
Khi xảy ra lỗi, chuyển về 0.
Với prPres.SlideShowSettings
.ShowType = ppShowTypeSpeaker
.StartingSlide = noSlide
.ShowWithAnimation = msoCTrue
.AdvanceMode = ppSlideShowUseSlideTimings
.Chạy
Kết thúc bằng
End Sub
Comments
Post a Comment