Presentations.Open изисква PowerPoint 2007 да бъде отворен?

Имам макро runTest във файл test.pptm на PowerPoint, който искам да извикам с помощта на следния VB скрипт. Всичко работи добре, когато скриптът се извиква на машина с Office 2010, но скриптът ще работи само с Office 2007, при условие че приложението PowerPoint е било отворено преди извикването на скрипта. Ще ми е интересно да чуя дали някой е имал подобен проблем или да чуя за някакви потенциални решения.

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 

person Franzl    schedule 03.09.2013    source източник
comment
VBScript отстраняване на грешки 101: премахнете On Error Resume Next и вижте каква грешка получавате.   -  person Ansgar Wiechers    schedule 03.09.2013


Отговори (2)


Реших проблема, като добавих

    pptApp.Visible = True

след създаване на pptApp и преди отваряне на презентацията.

person Franzl    schedule 05.09.2013

В случай, че се нуждае от стартиране на Powerpoint, просто бих задействал стартирането като част от vbscript

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

Бихте могли да вградите обработка на грешки, за да видите коя версия е инсталирана и да извикате съответния exe файл

person ServerGuy    schedule 04.09.2013