2016-03-20 7 views
0

Ich versuche, ein VBScript von PHP (unter FastCGI/IIS ausgeführt), die eine XLS-Datei ändert ausführen.VBScript Excel Workbooks.Open funktioniert nicht, wenn von PHP-Website ausgeführt

Das VBScript sieht wie folgt aus:

... 
     Dim objXLApp, objXLWb, objXLWs 

     Set objXLApp = CreateObject("Excel.Application") 

     objXLApp.Visible = False 
     objXLApp.DisplayAlerts = False 

     Set objXLWb = objXLApp.Workbooks.Open(FilePath) 
     Set objXLWs = objXLWb.Worksheets(1) 

     objXLWs.Cells(1, 1) = "This is a test!" 

     objXLWb.Save 
... 

Die test.php Datei sieht wie folgt aus:

<?php 
echo shell_exec("cscript.exe Test.vbs test.xls"); 

Wenn ich eine Konsole öffnen und laufen php test.php es ändert korrekt die xls-Datei, aber wenn Ich setze die xls Datei zurück und besuche test.php in einem Browserfenster, es tut nichts. Wenn man mit WShell.Echo herumfummelt, scheint es, als stürze/stoppt es bei der objXLApp.Workbooks.Open(FilePath) Zeile.

Wenn ich diesen Code auf meinem lokalen Computer mit php -S ausführen funktioniert es perfekt, es ist nur, wenn unter IIS auf dem Windows Server 2012-Host ausgeführt wird, dass es nicht funktioniert.

Was verursacht das? Gibt es eine Möglichkeit, es zu beheben? Vielen Dank!

+0

Hat der Server haben Excel installiert? –

Antwort

0
C:\Users\User>"C:\Users\User\Desktop\New Text Document.vbs" "C:\Users\User\Desktop\David\Documents\Payrates.xls" 

und

Set objXLWb = GetObject(WScript.Arguments(0)) 
    Set objXLWs = objXLWb.Worksheets("Sheet2") 
    objXLWs.Cells(1, 1) = "This is a test!" 
    objXLWb.Save 
+0

Leider scheint das immer noch nicht zu funktionieren: \ – MatthewSot

+0

Es ist ein PHP-Config-Problem. –

+0

Welche Benutzer sind PHP und die Datei. –

Verwandte Themen