VBScript Excel 工作簿.打开时从 PHP 网站执行时不起作用


VBScript Excel Workbooks.Open Not Working When Executed from PHP Website

>我正在尝试从PHP运行VBScript(在FastCGI/IIS下运行)来修改xls文件。

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下运行时,它不起作用。

这是什么原因造成的?有什么办法可以解决它吗?谢谢!

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