2

我正在尝试运行 VBScript 但 CFExecute 引发错误

<cfexecute name = "C:\Windows\System32\CScript.exe" 
            arguments = "//NoLogo D:\Excel.vbs D:\test.xls"
            variable = "data"
            timeout = "100">
 </cfexecute>
<cfdump var="#data#">

错误:

 Error: 424 Source: Microsoft VBScript runtime error Description: Object required 

但是当我用 CMD 运行 VBScript 时它工作正常

C:\Windows\System32 > cscript //nologo D:\Excel.vbs D:\test.xls

我有完全的管理员权限,为什么会出现这个错误?

4

2 回答 2

7

这是由于 Windows 2008 服务器中的错误。对于办公自动化(通过脚本和非基于窗口的操作访问),我们必须在里面添加一个“桌面”文件夹

C:\Windows\System32\config\systemprofile
C:\Windows\SysWOW64\config\system32

我添加了它并发现成功。

于 2014-08-29T16:25:18.030 回答
0

创建一个 vbscirpt 文件 (.vbs)。代码内容将具有您想要实现的任务。

下面的示例包含刷新 excel 的 vbscript 文件和执行 vbscript 的 cfm。

示例 vbscript 文件代码:-

Set fso = CreateObject("Scripting.FileSystemObject")
Set xl  = CreateObject("Excel.Application")
xl.Visible = True

For Each f In fso.GetFolder("C:\inetpub\WebSites\Upload\").Files
  If LCase(fso.GetExtensionName(f.Name)) = "xlsx" Then
    Set wb = xl.Workbooks.Open(f.Path)
    wb.RefreshAll
    wb.Save
    wb.Close
  End If
Next

xl.Quit

cfm 文件代码示例:-

<cfexecute name = "C:\Windows\System32\cscript.exe" arguments = "C:\inetpub\WebSites\CSAT\test.vbs">
</cfexecute>
于 2014-08-29T11:37:40.720 回答