コマンドラインから実行すると完全に実行されるVBSスクリプトがありますが、スクリプトを介しCFEXECUTE
てスクリプトを実行しようとすると実行されないようです(作成する必要があるファイルが作成されません)。
CFEXECUTE
タグを含むページを実行すると、ブラウザ ウィンドウに次のテキストが表示されます。
Microsoft (R) Windows Script Host バージョン 5.8 Copyright (C) Microsoft Corporation. 全著作権所有。
私のコードは次のとおりです。
<cfexecute name="C:\Windows\System32\cscript.exe" arguments="D:\path\to\script\myscript.vbs" timeout="30">
正しく実行されない理由を知っている人はいますか?
アップデート:
CFEXECUTE
is 0の代わりに以下のコードを使用するresult
と、スクリプトがエラーなしで実行されたことを意味すると思います。しかし、作成されたはずのファイルがまだ作成されていません。
<cfset command = "C:\Windows\System32\cscript.exe D:\path\to\script\myscript.vbs">
<cfset runTime = CreateObject("java","java.lang.Runtime").getRuntime()>
<cfset process = runTime.exec(command)>
<cfset result = process.waitFor()>
<cfoutput>#result#</cfoutput>
VBS スクリプト:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("D:\path\to\xls\file\containing\html.xls")
objExcel.Application.Visible = False
objExcel.Application.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs "D:\path\to\new\xlsx\file.xlsx", 51
objExcel.ActiveWorkbook.Close
objExcel.Application.DisplayAlerts = True
objExcel.Application.Quit
WScript.Quit