我一直在嘗試編寫一個宏,它使用Excel中的表格通過powerpoint vba更新演示文稿。Powerpoint vba - 從excel中複製表格
下面是我在做什麼
- 代碼首先刪除所有照片在演示文稿中,
- 然後打開Excel工作簿,copys命名範圍,並粘貼到正確的幻燈片。
這個確切的代碼工作正常,前兩天,現在說的對象超出範圍用於複製的範圍「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
我做錯了什麼? 請幫助我,
謝謝
是否有一個原因,爲什麼你使用'GetObject的()'後你獲得第二參考到Excel已經使用'CreateObject()'打開一個新實例?如果有多個excel實例打開,那麼不能保證'GetObject()會返回哪個實例(它甚至可以返回一個隱藏的實例),所以你最好不要使用原始的' xlApp參考。 –
我沒有特別的理由說明我爲什麼要這樣做,如前所述,這是我在powerpoint vba的第一次嘗試 - 我認爲我必須「調用」excel電子表格才能從中複製。所以,而不是'XL.Range(「PL」)。複製',我會使用'xlApp.Range(「PL」)。複製'感謝您的輸入,我試試這個。 – amymon87