Tự động hóa bài thuyết trình PowerPoint từ Excel

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

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ