如何让 Auto 运行 for vba powerpoint 工作?

How do I make Auto Run for vba powerpoint work?

所以我编写了一些代码,从 excel sheet 导入数据并从中创建一个漂亮的 powerpoint。现在,我遇到的问题是打开 powerpoint 文件后需要手动执行 makro。我环顾四周,自动 运行 PowerPoint 中的 vba 脚本似乎有点棘手。显然你可以下载一个插件,但这只会影响我的 powerpoint 版本,并且需要任何想要使用该文件的人也下载插件,对吗?任何帮助将不胜感激

在不使用加载项且用户参与有限的情况下,可以采用以下方法。

  1. 在演示文稿中添加一张空白幻灯片。 (其他可以暂时隐藏。)
  2. 使用“插入”选项卡添加形状(或图片)
  3. 在形状仍处于选中状态的情况下,从同一“插入”选项卡中选择“操作”。这将允许在单击 button/shape 时选择 运行 的宏。

形状只能在幻灯片放映运行时使宏运行。

  1. 添加一个文本框,明确指示用户按 F5 键 运行 显示并单击按钮。

不是直接 运行 主宏,而是可以创建一个辅助宏,它将 运行 主宏但同时退出当前 运行 正在播放的幻灯片。例如,

Sub Test()
    Call MainMacro

    ActivePresentation.SlideShowWindow.View.Exit
End Sub

Sub MainMacro()
    MsgBox "Doing stuff"
End Sub

辅助宏也可以取消隐藏现有幻灯片:

ActivePresentation.Slides(2).SlideShowTransition.Hidden = msoFalse

无需修改现有演示文稿,这些步骤可以创建为包含一张幻灯片的单独演示文稿。这里的复杂之处在于需要从可靠的位置打开主要演示文稿。

此辅助演示文稿还可以另存为 PowerPoint Macro Enabled Show (pppsm)。