Macros 如何在打开Powerpoint演示文稿时自动执行宏?

Macros 如何在打开Powerpoint演示文稿时自动执行宏?,macros,powerpoint,startup,execute,Macros,Powerpoint,Startup,Execute,我有一个非常基本的问题,但在互联网上找不到答案。在Powerpoint 2010中,我有一个宏,我希望每次打开Powerpoint文档时都执行该宏。如何做到这一点?谢谢 虽然PowerPoint演示文稿中不会运行Auto_Open,但您可以伪造它。将CustomUI部件添加到演示文稿中,然后在演示文稿打开时使用CustomUI OnLoad回调来运行代码。CustomUI部件只需要CustomUI标记 从此处获取自定义UI编辑器: 在自定义UI编辑器中打开演示文稿。从“插入”菜单中插入自定义UI

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

谢谢

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

从此处获取自定义UI编辑器:

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

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

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
onLoad="MyOnloadProcedure" >
</customUI>
如果外接程序中同时包含此过程和Auto_Open过程,则首先运行Auto_Open


充分披露:当我想到使用这种方法并在Excel中使用它时,我一直等到在PPT Alchemy网站上第一次遇到它:。

我使用的是PowerPoint 2016,所以我不能为早期版本发言,尽管文档表明这种方法适用于PowerPoint 2016、2013、2010、2007版本。此方法不需要任何外接程序或应用程序挂钩来处理事件

参考链接: )

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

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

例如: 我的演示文稿是C:\myPPTpres.pptm,宏是运行\u幻灯片\u放映的,因此我需要添加 /M“C:\myPPTpres.pptm”“运行幻灯片放映”到目标字段中现有文本的结尾

“C:\ProgramFiles(x86)\Microsoft Office\root\Office16\POWERPNT.EXE” /M“C:\myPPTpres.pptm”“运行\u幻灯片\u放映”

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


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

假设宏类型与自动事件相关,例如自动打开()、自动关闭()、自动打印()等。,为了让powerpoint在打开powerpoint文件时执行宏,我们需要包含powerpoint加载项,或者其他选项可以是将文件另存为.ppa或.ppam


有关更多详细信息和下载AutoEvents zip文件,请参阅链接:

您找不到答案吗?拜托!在谷歌上用“powerpoint自动启动宏”进行搜索会给你带来:当阅读加载项时,我认为这是一个解决办法,显然它肯定已经存在。但你是对的,插件似乎是我唯一的选择。谢谢另外,为了增加延迟,我首先使用了windows睡眠功能。这完全冻结了应用程序,无法运行。要增加延迟,请查看这篇文章:使用所描述的最后一个解决方案为我工作。
Sub MyOnloadProcedure()
    MsgBox "Hello"    
End Sub