如何从 javascript 调用 VBScript
How to call a VBScript from javascript
我在 https://www.webdeveloper.com/d/49920-how-to-call-a-javascript-from-vbscript/5 上找到了一个小脚本
这表示您只需在 JavaScript 中调用 VB 脚本函数。它还给出了这个例子:
<HTML>
<Head>
</head>
<Script Language=JavaScript>
function callVB(){
setTimeout(function(){KeepAwake();}, 5000);
}
</Script>
<Script Language=VBScript>
Function KeepAwake()
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
End Function
</Script>
<Body>
<input type=button value="Call VB" onclick="callVB()">
</Body>
</HTML>
效果很好。 5 秒后按回车键。所以我把它放在我自己的代码中。 hta 表示 VBS 函数未定义,尽管 VBS 代码相同。 Error Message
我尝试了一段时间,但仍然无法正常工作,我在互联网上发现的一切都是我在做的事情。
我做错了什么?
这是我自己的代码
<!DOCTYPE html>
<html>
<head>
<title>The Amazing Nanny Helper</title>
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
</head>
<p id="retrunValue"></p>
<label for="myfile" id="label" name="label">Select a file:</label>
<input type="file" id="myfile" name="myfile" multiple>
<label for="Start">Start Row:</label>
<input type="number" id="Start" min="0">
<button type="button" onclick="do5();">Do 5</button>
<button type="button" onclick="do25();">Do 25</button>
<button type="button" onclick="do100();">Do 100</button>
<button type="button" onclick="do1000();">Do 1000</button>
<button type="button" onclick="do10000();">Do 10000</button>
<Script Language=JavaScript>
//A bunch of unimportant functions
function do5() {
FileInput(5);
}
function do25() {
FileInput(25);
}
function do100() {
FileInput(100);
}
function do1000() {
FileInput(1000);
}
function do10000() {
FileInput(10000);
}
function FileInput(times) {
KeepAwake(); // attempt to call VBS function
// Big loop driven by setTimeouts and functions calling functions that call the calling function
}
//A few more unimportant functions
</Script>
<Script Language=VBScript>
Function KeepAwake()
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
End Function
</Script>
</body>
</html>
这个标签有问题:
<meta http-equiv="x-ua-compatible" content="ie=edge" />
此处声明内容应运行 具有最新可用的 IE 引擎。该选择显然不支持 VBScript。您可以获得对 VBScript 的支持,其值如下:
<meta http-equiv="x-ua-compatible" content="ie=ie11" />
我在 https://www.webdeveloper.com/d/49920-how-to-call-a-javascript-from-vbscript/5 上找到了一个小脚本 这表示您只需在 JavaScript 中调用 VB 脚本函数。它还给出了这个例子:
<HTML>
<Head>
</head>
<Script Language=JavaScript>
function callVB(){
setTimeout(function(){KeepAwake();}, 5000);
}
</Script>
<Script Language=VBScript>
Function KeepAwake()
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
End Function
</Script>
<Body>
<input type=button value="Call VB" onclick="callVB()">
</Body>
</HTML>
效果很好。 5 秒后按回车键。所以我把它放在我自己的代码中。 hta 表示 VBS 函数未定义,尽管 VBS 代码相同。 Error Message
我尝试了一段时间,但仍然无法正常工作,我在互联网上发现的一切都是我在做的事情。
我做错了什么?
这是我自己的代码
<!DOCTYPE html>
<html>
<head>
<title>The Amazing Nanny Helper</title>
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
</head>
<p id="retrunValue"></p>
<label for="myfile" id="label" name="label">Select a file:</label>
<input type="file" id="myfile" name="myfile" multiple>
<label for="Start">Start Row:</label>
<input type="number" id="Start" min="0">
<button type="button" onclick="do5();">Do 5</button>
<button type="button" onclick="do25();">Do 25</button>
<button type="button" onclick="do100();">Do 100</button>
<button type="button" onclick="do1000();">Do 1000</button>
<button type="button" onclick="do10000();">Do 10000</button>
<Script Language=JavaScript>
//A bunch of unimportant functions
function do5() {
FileInput(5);
}
function do25() {
FileInput(25);
}
function do100() {
FileInput(100);
}
function do1000() {
FileInput(1000);
}
function do10000() {
FileInput(10000);
}
function FileInput(times) {
KeepAwake(); // attempt to call VBS function
// Big loop driven by setTimeouts and functions calling functions that call the calling function
}
//A few more unimportant functions
</Script>
<Script Language=VBScript>
Function KeepAwake()
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
End Function
</Script>
</body>
</html>
这个标签有问题:
<meta http-equiv="x-ua-compatible" content="ie=edge" />
此处声明内容应运行 具有最新可用的 IE 引擎。该选择显然不支持 VBScript。您可以获得对 VBScript 的支持,其值如下:
<meta http-equiv="x-ua-compatible" content="ie=ie11" />