我在PowerPoint文件test.pptm中有一个宏runTest,我希望使用以下VB脚本调用它。当在装有Office 2010的计算机上调用脚本时,一切都能正常工作,但只有在调用脚本之前打开PowerPoint应用程序,脚本才能在Office 2007中工作。我很想知道是否有人遇到过类似的问题,或者有任何潜在的解决方案。
Option Explicit
On Error Resume Next
RunProcess
Sub RunProcess()
Dim pptApp
Dim pptPresentation
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPresentation = pptApp.Presentations.Open("C:test.pptm", True)
pptApp.Run "test.pptm!runTest"
pptApp.Quit
Set pptPresentation = Nothing
Set pptApp = Nothing
End Sub
我通过添加解决了问题
pptApp.Visible = True
在创建pptApp之后和打开演示文稿之前。
如果它需要启动Powerpoint,我只会作为vbscript 的一部分触发启动
Set WshShell = wscript.CreateObject("wscript.Shell")
WshShell.Run "C:Program Files (x86)Microsoft OfficeOffice12POWERPNT.EXE"
您可以构建一些错误处理来查看安装了哪个版本,并调用适当的exe文件