从Excel VBA运行Powerpoint子

我需要从Excel中的一个子运行一个PowerPoint子。 原因是大多数PowerPoint操作运行速度要快得多,而且从PowerPoint中的子文件运行时的错误要less于从Excel中的子文件运行时的错误。

我正在尝试使用Application.Run(Macroname_As_String) ,我使用PptApp代替ApplicationPptApp加载为:

 Dim PptApp As PowerPoint.Application Set PptApp = CreateObject("PowerPoint.Application") 

我试过将Presentation1.pptm!UpdateOLELinksUpdateOLELinks引用到VBA脚本中。 文件和VBA脚本/只是VBA脚本。

我得到的错误:

“方法'运行'对象'_Application'失败”。

我的VBA脚本UpdateOLELinks位于Presentation1 Module1中。

有任何想法吗?

在PowerPoint中运行方法需要参数 : msdn.microsoft.com/fr-fr/library/office/Ff744221.aspx

所以,即使你传递一个空的数组,尝试如下所示:

 PptApp.Run Macroname_As_String, Parameters_As_Array 

其他未经testing的可能性(与您的参考上下文)我偶然发现研究:

 Dim PptApp As PowerPoint.Application Set PptApp = CreateObject("PowerPoint.Application") Set Ppt1 = PptApp.Presentations.Open(PptPath, msoFalse, msoTrue, msoTrue) 'Possibility 1 PptApp.Run Macroname_As_String, Parameters_As_Array 'Possibility 2 Ppt1.PptApp.Run Macroname_As_String, Parameters_As_Array 'Possibility 3 PptApp.Run "'" & Ppt1.name & "'!" & Macroname_As_String, Parameters_As_Array 'Possibility 4 PptApp.Run Module_Name.Macroname_As_String, Parameters_As_Array 'Possibility 5 PptApp.Run "'" & Ppt1.name & "'!" & Module_Name.Macroname_As_String, Parameters_As_Array