2016-04-14 263 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") 
相关问题