【问题标题】:How to auto execute a macro when opening a Powerpoint presentation?打开 Powerpoint 演示文稿时如何自动执行宏?
【发布时间】:2012-07-03 14:17:24
【问题描述】:

我有一个非常基本的问题,但在互联网上找不到答案。
在 Powerpoint 2010 中,我有一个宏,我希望每次打开 Powerpoint 文档时都执行该宏。如何做到这一点?

谢谢!

【问题讨论】:

  • 您找不到答案?来吧!在 google 上使用“powerpoint 自动启动宏”进行搜索会给你:pptfaq.com/…
  • 在阅读加载项时,我认为这是一种解决方法,可以解决显然必须存在的问题。但你是对的,加载项似乎是我唯一的方法。谢谢!

标签: macros powerpoint startup execute


【解决方案1】:

虽然 Auto_Open 不在 PowerPoint 演示文稿中运行,但您可以伪造它。将 CustomUI 部件添加到演示文稿,然后使用 CustomUI OnLoad 回调在演示文稿打开时运行代码。 CustomUI 部分只需要 CustomUI 标记。

从此处获取自定义 UI 编辑器:http://openxmldeveloper.org/articles/customuieditor.aspx

在自定义 UI 编辑器中打开演示文稿。从“插入”菜单插入 CustomUI 部件:

现在输入一些简单的 RibbonX 代码,如下所示:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
onLoad="MyOnloadProcedure" >
</customUI>

现在编写你的打开过程:

Sub MyOnloadProcedure()
    MsgBox "Hello"    
End Sub

如果加载项中同时具有此过程和 Auto_Open 过程,则 Auto_Open 首先运行。

完全披露:虽然我想使用这种方法并在 Excel 中使用过,但我一直等到我在 PPT Alchemy 网站上第一次遇到它:Run Code When PowerPoint Opens

【讨论】:

    【解决方案2】:

    我使用的是 PowerPoint 2016,因此我不能代表早期版本,尽管文档表明这适用于 PowerPoint 版本 2016、2013、2010、2007。此方法不需要任何加载项或应用程序挂钩来处理事件。

    参考链接: https://support.office.com/en-us/article/command-line-switches-for-microsoft-office-products-079164cd-4ef5-4178-b235-441737deb3a6?ocmsassetID=HA010153889&CTT=1&CorrelationId=ea39d200-aa81-4d6e-8302-afff4c65859e&ui=en-US&rs=en-US&ad=US#ID0EAABAAA=PowerPoint,_PowerPoint_Viewer)

    从命令行启动 PowerPoint 并使用 /M 开关让 PowerPoint 在启动命名演示文件时运行指定的宏。

    最简单的方法是创建 PowerPoint 应用程序的快捷方式。然后转到快捷方式的属性窗口并选择快捷方式选项卡。接下来,将 /M 开关、您的演示文稿文件名(包括路径)和要运行的宏的名称(区分大小写并且必须是演示文稿的一部分)添加到目标字段的末尾。双击快捷方式,瞧!

    示例: 我的演示文稿是 C:\myPPTpres.pptm,宏是 Run_Slide_Show 所以我需要添加 /M "C:\myPPTpres.pptm" "Run_Slide_Show" 到目标字段中现有文本的末尾。

    "C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT.EXE" /M "C:\myPPTpres.pptm" "Run_Slide_Show"

    确保您正在运行启用宏的演示文稿版本(在 2016 年,它具有 .pptm 扩展名。)

    如果您尝试使用宏自动开始幻灯片放映,请注意重要提示。在宏的开头添加一秒或多秒的延迟,以允许应用程序完成其启动序列。如果您不这样做,幻灯片将启动,但应用程序将在完成启动时窃取焦点,将您的幻灯片推到后台。

    【讨论】:

    • 只是为了增加延迟,我首先使用了windows的睡眠功能。这完全冻结了应用程序并且没有工作。要添加延迟,请查看这篇文章:myonlinetraininghub.com/… 使用所描述的最后一个解决方案为我工作。
    【解决方案3】:

    假设宏的类型与自动事件相关,例如 Auto_open()、Auto_close()、Auto_print() 等,为了让 powerpoint 在打开 powerpoint 文件时执行宏,我们需要包含 Powerpoint 插件或其他选项可能是将文件另存为 .ppa 或 .ppam。

    有关更多详细信息和下载 AutoEvents zip 文件,请参阅链接:http://skp.mvps.org/autoevents.htm

    【讨论】:

      猜你喜欢
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 2014-05-23
      相关资源
      最近更新 更多