2016-03-20 5 views
0

xlsファイルを変更するPHP(FastCGI/IISで実行中)からVBScriptを実行しようとしています。VBScript Excel Workbooks.OpenがPHPウェブサイトから実行されたときに開けません

VBScriptのは、次のようになります。

... 
     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 
... 

test.phpをファイルには、次のようになります。

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

私はコンソールを開き、php test.phpを実行した場合、それは正しくXLSファイルを変更しますが、場合私はxlsファイルをリセットし、何もしないブラウザウィンドウでtest.phpにアクセスします。 WShell.Echoを使いこなすと、objXLApp.Workbooks.Open(FilePath)行でクラッシュ/ストップするようです。

php -Sを使用してローカルコンピュータでこのコードを実行すると、完全に機能します。Windows Server 2012ホスト上のIISで動作しているだけで動作しません。

この原因は何ですか?それを修正する方法はありますか?ありがとう!

+0

Excelは、サーバーインストールされていますか? –

答えて

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

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

残念ながら、まだ動作していないようです:\ – MatthewSot

+0

PHP設定の問題です。 –

+0

PHPとそのユーザーはどのユーザーですか? –