У меня есть код vbscript здесь:
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Sub Write
Set oFile = fso.OpenTextFile("Text.txt",8,true)
oFile.close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "m1.hta"
End Sub
Это сделает текстовый файл и запустит m1.hta, и он отлично работает. Однако, когда я помещаю его в hta файл следующим образом:
<Script Language="VBscript">
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Sub Write
Set oFile = fso.OpenTextFile("Text.txt",8,true)
oFile.close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "m1.hta"
End Sub
</Script>
<input type="Button" value="GO" onclick="Write">
Кажется, я получаю эту ошибку:
Мой вопрос во-первых, что не так с кодом, а во-вторых, как я его исправить. Заранее спасибо.
Замените WScript.CreateObject("WScript.Shell")
на этот CreateObject("WScript.Shell")
Для запуска скрипта HTA использует mshta.exe. mshta.exe не может распознать объект wscript. Это причина этой ошибки.
При запуске файла.vbs будет использоваться wscript.exe, который отлично выполнит ваш код.
Поэтому удаление wscript-формы вашего кода должно работать нормально.