Excel VBA在PowerPoint中复制幻灯片
问题描述:
我正在将内容从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?
答
自动化PPT几乎没有什么好的理由选择任何东西。 在幻灯片1假定一个名为表1的形状,这应该做你想做的:
Dim oSl As Slide
Dim oSh As Shape
Set oSl = ActivePresentation.Slides(1).Duplicate()(1)
Set oSh = oSl.Shapes("Table 1")
尝试删除'.Item(1)'从你的第一道防线。根据.Duplicate()的文档(https://msdn.microsoft.com/de-de/library/office/ff745804.aspx),“pptSlide”应该是第二张幻灯片。 – Verzweifler
@Verzweifler删除'.Item(1)'后,它会给出一个类型不匹配错误,因为'.Duplicate'返回一个范围而不是幻灯片。 – Nikky
我不确定我是否理解这个问题“我的代码在当前幻灯片之前添加了新幻灯片”而不是您想要的“我希望在当前幻灯片之后添加新幻灯片”。另外,您是否尝试写入重复幻灯片或由SlideNum标识的其他幻灯片?如果稍后,SlideNum如何被设置为添加副本将改变幻灯片集合的索引? –