如何在 Powerpoint 幻灯片中动态插入来自外部文件的文本?

如何在 Powerpoint 幻灯片中动态插入来自外部文件的文本?

我的目标是确保我插入演示文稿的 C++ 代码能够正确编译。因此,我认为应该将每个示例放在一个单独的文件中(以便我可以编译它),并将这些文件中的文本包含在 Powerpoint 幻灯片中……我希望这种“包含”是动态的,这样如果我更改文件中的代码,幻灯片就会自动更新。

有可能吗?我是否必须使用 LaTeX 而不是 Powerpoint?还有其他关于如何解决这个问题的建议吗?

谢谢。

答案1

请参阅此问题。如果将幻灯片作为对象插入,则不需要代码来更新幻灯片

Powerpoint 2007 链接到外部内容

答案2

在 PowerPoint 中,您需要编写宏来读取文本并更新幻灯片。

您可以在此处找到读取文本文件的宏的示例:
从 ascii 文件中读取文本

您还需要强制刷新幻灯片:

' assuming a reference to the current slide in oSl
ActiveWindow.View.GotoSlide(oSl.SlideIndex)

本文也可以作为一个例子:
将文本文件中的随机短语添加到每张幻灯片上的文本框中

答案3

如果您重命名Powerpoint 2010 .pptx文件变成.zip文件,您可以通过等方式打开它Winzip7zip

幻灯片内容写在该打包的档案结构中XML命名的文件中。"...\ppt\slides\slide2.xml"

摘自德语.pptx文件:

-<a:p>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" err="1" dirty="0"/>
<a:t>A text to change ....</a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" dirty="0"/>
<a:t> </a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" err="1" dirty="0"/>
<a:t>another Text to change</a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" dirty="0"/>
<a:t> </a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" err="1" dirty="0"/>
<a:t>Text ...</a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" dirty="0"/>
<a:t> </a:t>
</a:r>
-<a:r>
<a:rPr lang="de-DE" smtClean="0" err="1" dirty="0"/>
<a:t>Text ...</a:t>
</a:r>
<a:endParaRPr lang="de-DE" smtClean="0" dirty="0"/>
</a:p>

因此,应该可以准备一个.pptx模板文件并像${Text1234}使用自制工具一样替换占位符字符串。

答案4

我不知道是否有一个API可以让你直接用C++编写代码,但是有一个适用于Java的API:apache.org 网站因此您始终可以将其包装在脚本中以执行它。

话虽如此,在我看来,LaTex 听起来更适合。

相关内容