Excel VBA在PowerPoint中复制幻灯片

时间:2016-04-14 13:37:53

标签: excel vba excel-vba powerpoint powerpoint-vba

我正在努力将内容从Excel导出到PowerPoint。我的PowerPoint演示文稿中有一张空白的格式化幻灯片,我需要每次都复制并在其上书写。问题是我的代码在当前幻灯片之前添加了一个新幻灯片,这使得将内容写入确切的幻灯片编号时出现问题。我希望在当前幻灯片之后添加新幻灯片。

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

任何建议?

2 个答案:

答案 0 :(得分: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")

答案 1 :(得分:0)

ActivePresentation.Slides.Range(1).Cut

ActivePresentation.Slides.Paste -1

此功能会将第一张幻灯片移动到最后一张幻灯片。因此,您可以算出一个公式来跟踪幻灯片的插入位置是合理的。 如果您需要知道范围内有多少张幻灯片, ActivePresentation.Slides.Range.count