2016-04-14 260 views
0

我正在將內容從Excel導出到PowerPoint。我在PowerPoint演示文稿中有一張空白的格式化幻燈片,我需要每次複製並在其上寫入。問題在於我的代碼在當前幻燈片前面添加了一個新幻燈片,這個幻燈片出現了將內容寫入確切幻燈片編號的問題。我希望在當前幻燈片後添加新幻燈片。Excel VBA在PowerPoint中複製幻燈片

 Set pptSlide = oPPTApp.ActivePresentation.Slides(1).Duplicate.Item(1) 
     oPPTFile.Slides(SlideNum).Select 
     Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Table 1") 

any suggestions?

+0

嘗試刪除'.Item(1)'從你的第一道防線。根據.Duplicate()的文檔(https://msdn.microsoft.com/de-de/library/office/ff745804.aspx),「pptSlide」應該是第二張幻燈片。 – Verzweifler

+0

@Verzweifler刪除'.Item(1)'後,它會給出一個類型不匹配錯誤,因爲'.Duplicate'返回一個範圍而不是幻燈片。 – Nikky

+0

我不確定我是否理解這個問題「我的代碼在當前幻燈片之前添加了新幻燈片」而不是您想要的「我希望在當前幻燈片之後添加新幻燈片」。另外,您是否嘗試寫入重複幻燈片或由SlideNum標識的其他幻燈片?如果稍後,SlideNum如何被設置爲添加副本將改變幻燈片集合的索引? –

回答

1

自動化PPT幾乎沒有什麼好的理由選擇任何東西。 在幻燈片1假定一個名爲表1的形狀,這應該做你想做的:

Dim oSl As Slide 
Dim oSh As Shape 

Set oSl = ActivePresentation.Slides(1).Duplicate()(1) 
Set oSh = oSl.Shapes("Table 1") 
相關問題