2010-01-20 9 views
1

J'ai un script VBS:VB Script Documents.Open lancer 424 erreur

Function test2open(sSourceFile, sPDFFile) 
    Dim wApp ' As Word.Application 
    Dim wDoc ' As Word.Document 

    logStream.writeline "inside test2open" 
    on error resume next 

    Set wApp = CreateObject("Word.Application") 
    logStream.writeline Err.Number 
    Err.Clear 

    Set wDoc = wApp.Documents.Open("c:\Windows\Temp\test.DOC") 
    logStream.writeline Err.Number 
    logStream.writeline Err.Description 
    logStream.writeline Err.Source 

    wApp.Quit WdDoNotSaveChanges 
    Set wApp = Nothing 
End Function 

J'appelle ce vi php appel exec par apache avec cscript.exe. Le point du script principal que je ne vais pas coller le tout est de convertir un document Word en pdf. Mais à la fois mon script complet et celui ci-dessus ont le même problème. Lorsque j'appelle le script vbs tout seul en étant assis sur la boîte de Windows, cela fonctionne comme je le pense, mais lorsqu'il est appelé à distance par Apache via php, il commet des erreurs sur l'appel Documents.Open avec 424 Error Object requis Microsoft VBScript runtime error .

Ce même code s'exécute correctement sur 2 autres fenêtres, ce qui me laisse penser qu'il s'agit d'une sorte de problème de permission (j'adore ces messages d'erreur de description MS). Mais je ne peux pas comprendre quoi. Des pensées? Je crois que j'ai trouvé la réponse à ma question.

+0

Word est installé sur l'ordinateur exécutant le script? J'ai eu des problèmes en essayant d'exécuter un script qui utilisait l'objet Excel, car Excel n'était pas installé sur le navetteur qui exécutait le script. – Tester101

+0

Oui le mot (et tout le bureau) a été installé. Ma réponse postée était la solution. Le problème concernait les États membres essayant de restreindre l'utilisation des produits de bureau automatisés. –

Répondre

1

Le problème est que MS limite l'utilisation de l'automatisation des produits de bureau. Server 2008 64bit et Office 2007 ne fonctionnent pas bien. La solution qui a fonctionné pour moi a été trouvé à:

http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required

Dans le cas où fil disparaît:

This solution is ... 

・Windows 2008 Server x64 

    Please make this folder. 

    C:\Windows\SysWOW64\config\systemprofile\Desktop 

・Windows 2008 Server x86 

    Please make this folder. 

    C:\Windows\System32\config\systemprofile\Desktop