【问题标题】:PowerPoint VBA code not running unless VB editor opened first除非先打开 VB 编辑器,否则 PowerPoint VBA 代码不会运行
【发布时间】:2016-04-13 09:38:12
【问题描述】:

我有一个 PowerPoint 演示文稿,其中包含一张幻灯片和一些 VBA 代码。该代码显示一个对话框(不在演示文稿内),用于配置幻灯片。 我需要在演示开始时启动代码。 我找到了各种建议并最终选择了 this one 但是我得到的结果不一致!

如果我按顺序执行以下操作,它会起作用:

  1. 在 PowerPoint 中打开演示文稿
  2. 选择开发者标签
  3. 选择 Visual Basic(打开 VBA 编辑器)
  4. 关闭 VBA 编辑器
  5. 选择幻灯片放映选项卡
  6. 从头开始选择

但是,如果我跳过步骤 2-4,它不会! IE。: 1. 在 PowerPoint 中打开演示文稿 2. 选择幻灯片选项卡 3. 从头开始​​选择

就好像在打开编辑器之前,甚至没有加载 Visual Basic 支持。

我还尝试在我的主要幻灯片之前添加一张幻灯片,并立即自动转换,不行。

这让我发疯了,因为我需要把它部署到我部门的其他人。

有人有什么想法吗?

【问题讨论】:

  • 如果 VBA 在幻灯片演示期间遇到错误,它将完全按照您的描述进行。它似乎没有运行,用户不会看到任何错误消息。 VBA 是做什么的?可以发在这里吗?
  • 它有点长,但我会做的。演示文稿是一个休息和实验室锻炼计时器。因此,该对话框允许讲师指定休息时间和/或实验室时间,并选择分配哪些实验室(如果有)。然后有一个按钮可以启动时钟。我不明白的是,据我所知,没有 VBA 错误。如果我在开始幻灯片放映之前打开 VBA 编辑器,它会完美运行..... :-/
  • 您可以在此处发布,或者如果更方便,请将包含代码的演示文稿发布到 OneDrive/Dropbox/etc 上并在此处发布链接。
  • 好的,here 是。

标签: vba powerpoint


【解决方案1】:

这是一个已知问题。

OnSlideShowPageChange 有时不会触发。要绕过它,请将开发工具选项卡中的任何 Active-X 控件添加到第一张幻灯片。如果您不希望它可见,请将其从幻灯片上滑下来。

控制以某种方式强制 VBA 初始化,因此事件触发。

在我对您的演示文稿进行此操作后,它立即启动了。

【讨论】:

  • 谢谢!多年来,我一直在用头撞墙。先生,您是一位绅士!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
相关资源
最近更新 更多