VBscriptにHTAユーザーフォームを使用しているときに、HTAがWScriptとそのオブジェクト/メソッドをサポートしていないことがわかりました。
ユーザーフォームを作成する別の方法はありますか、それともHTAがWScriptをサポートするようにする方法はありますか?
代わりにWScript.Echo
、単にコンテンツをDOMに追加することもできます。
<script language="vbscript">
dim div: set div = document.getElementById("output")
div.innerText = "output"
</script>
<div id="output"/>
または、代わりにダイアログボックスが必要な場合は、MsgBox()
<script language="vbscript">
MsgBox "output"
</script>
Scripting.FileSystemObject
なしで使用できますWScript
<script language="vbscript">
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim path: path = fso.GetAbsolutePathName(".")
'... etc
</script>
Wscript
コードを.wsf
-fileに入れ、次のようにスクリプトを呼び出します。
shell=new ActiveXObject('WScript.Shell');
shell.Exec('WScript //Job:job_id PATH_TO_YOUR_WSF_FILE');
経由では、HTAでは使用できないなどの.wsf
方法も使用できます。WScript.Sleep()
WScript.SendKeys()
MSDNの詳細情報:Windows Script Host