2013-09-03 2 views
1

У меня есть макрос runTest в файле PowerPoint test.pptm, который я хочу вызвать, используя следующий скрипт VB. Все работает хорошо, когда сценарий вызывается на компьютере с Office 2010, но сценарий будет работать только с Office 2007, когда приложение PowerPoint было открыто перед вызовом сценария. Мне было бы интересно узнать, есть ли у кого-либо подобная проблема или слышать какие-либо потенциальные решения.Презентации.Открытия требует, чтобы PowerPoint 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 
+1

Отладка VBScript 101: удалите 'On Error Resume Next' и посмотрите, какую ошибку вы получите. –

ответ

0

В том случае, если он нуждается в Powerpoint запущен, я бы просто вызвать запуск в рамках VBScript

Set WshShell = wscript.CreateObject("wscript.Shell") 
WshShell.Run "C:\Program Files (x86)\Microsoft Office\Office12\POWERPNT.EXE" 

Вы могли бы построить в некоторой обработки ошибок, чтобы узнать, какая версия установлена, и вызов соответствующий исполняемый файл

2

Я решил эту проблему путем добавления

pptApp.Visible = True 

после создания pptApp и перед открытием презентации.

Смежные вопросы