Powerpoint vba - 从excel复制表

时间:2012-10-25 23:31:11

标签: vba powerpoint powerpoint-vba

我一直在尝试使用excel中的表格编写一个通过powerpoint vba更新演示文稿的宏。

这就是我正在做的事情

  • 代码首先删除演示文稿中的所有图片,
  • 然后打开excel工作簿,复制命名范围并粘贴到正确的幻灯片中。

这个确切的代码在两天前工作正常,现在说对象超出范围用于复制范围“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

我做错了吗? 请帮帮我,

谢谢

1 个答案:

答案 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