我一直在尝试使用excel中的表格编写一个通过powerpoint vba更新演示文稿的宏。
这就是我正在做的事情
这个确切的代码在两天前工作正常,现在说对象超出范围用于复制范围“PL”。任何帮助或提示都会很棒,因为这是我第一次使用powerpoint vba。
valnPath = "G:\valnpath\"
PriorPath = "G:\Priorpath\"
Dim xlApp As Object
Dim xlWorkBook As Object
Dim XL As Excel.Application
Dim PPSlide As PowerPoint.Slide
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.DisplayAlerts = False
xlApp.AskToUpdateLinks = False
Set xlWorkBook = xlApp.Workbooks.Open(valnPath & "Presentation Tables 1208.xlsx", True, False)
Set XL = GetObject(, "Excel.Application")
XL.DisplayAlerts = False
XL.AskToUpdateLinks = False
XL.Range("PL").Copy
ActivePresentation.Slides(3).Select
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set XL = GetObject(, "Excel.Application")
XL.DisplayAlerts = False
XL.AskToUpdateLinks = False
XL.Range("AvE").Copy
ActivePresentation.Slides(5).Select
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set XL = GetObject(, "Excel.Application")
XL.Quit
我做错了吗? 请帮帮我,
谢谢
答案 0 :(得分:1)
试试这个:
valnPath = "G:\valnpath\"
PriorPath = "G:\Priorpath\"
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim PPSlide As PowerPoint.Slide
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible = True
.DisplayAlerts = False
.AskToUpdateLinks = False
End With
Set xlWorkBook = xlApp.Workbooks.Open(valnPath & _
"Presentation Tables 1208.xlsx", True, False)
xlApp.Range("PL").Copy
ActivePresentation.Slides(3).Select
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile
xlApp.Range("AvE").Copy
ActivePresentation.Slides(5).Select
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile
xlWorkBook.Close False
xlApp.Quit