首页 文章

使用VBA以编程方式创建PowerPoint布局?

提问于
浏览
2

我在VBA中创建一个Excel宏,它将从行中获取数据并使用该数据填充PowerPoint . 我已经在幻灯片中创建了一个文本框布局,我希望能够应用于每个创建的新幻灯片,但我需要这样做 without 有一个模板 . 模板的问题是我需要每个想要使用它的用户安装模板 . 我已经尝试将布局保存在隐藏的幻灯片中并将其粘贴到演示文稿中,但是当我这样做时,它们的布局不会保持不变(它们全部堆叠在一起)并且它们不会将它们的功能保留为文本框 . 怎样才能解决这个问题?

2 回答

  • 2

    模板的问题是我需要每个想要使用它的用户安装模板

    并不是的 . 虽然最好从性能角度来看,要在本地保存模板,您应该能够使用共享/网络位置的模板 .

    这种方法有用吗?

    如果没有,请显示您用于复制幻灯片的代码 . 假设您已在演示文稿的主布局中定义了自定义布局,则复制/粘贴应该起作用 . 我已经使用文本框和文本占位符对此进行了测试 .

  • 1

    通过将形状对象保存在Excel中的隐藏工作表中,使用VBA填充它们,然后使用以下代码粘贴到幻灯片中,最终解决了这个确切的问题:

    Sheets("template").Activate
    Sheets("template").Shapes("myShape").Copy
    activeSlide.Shapes.PasteSpecial(DataType:=ppPasteDefault).Select
    

    这使它们成为形状对象并可在PowerPoint中编辑 .

    请注意,一般的好习惯是避免激活和选择语句 . 此代码未在最终产品中使用,仅供参考 .

相关问题