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

我正在VBA中创build一个Excelmacros,它将从行中获取数据并使用该数据填充PowerPoint。 我在幻灯片中创build了一个文本框的布局,我希望能够应用到每个新创build的幻灯片,但是我需要在没有模板的情况下执行此操作。 模板的问题是,我会需要每个用户谁想要使用这个模板安装。 我已经尝试将布局保存在一张隐藏的幻灯片中,并将其粘贴到演示文稿中,但是当我这样做时,他们的布局不会保持不变(它们都堆叠在另一个之上),并且不会将其function保留为文本框。 什么是适当的方式去做这件事?

模板的问题是,我会需要每个用户谁想要使用这个模板安装

不是真的。 尽pipe从性能angular度来看,最好将模板保存在本地,但应该能够使用来自共享/networking位置的模板。

这种方法会起作用吗?

如果没有,请显示您用来复制幻灯片的代码。 据推测,如果您已经在演示文稿的主布局中定义了一个自定义布局,复制/粘贴应该工作。 我用文本框和文本占位符testing了这个。

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

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

这使他们成为形状对象,并在PowerPoint中可编辑。

请注意,一般的良好做法是避免激活和select语句。 这个代码没有在最终产品中使用,只作为参考。