vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码 |
问: 您好,脚本专家! 在您的 HTA 示例中,您为我们展示了如何单击一个按钮使一个子例程得以运行 。 那么,如何向一个按钮的 onClick 参数添加两个或多个子例程呢? -- FM 答: 您好,FM 。您知道,在认知心理学中有一个有趣的分支,称为问题发现;其理论是您回答问题的能力通常首先取决于您问到的问题 。 例如,您 – 以及其他几个人 – 想要知道如何在一个按钮的 onClick 参数中指定多个子例程 。 我们见过人们尝试对代码做出各种修改,以下就是一个例子: <input type="button" value="Run Button" onClick="Script_1; Script_2; Script_3"> 正如您所见,这不能解决问题 。 那么让我们将发现问题的技能应用到测试中,看看是否能够用其它方式来描述该问题 。 (通常,脚本专家无需发现问题;问题会设法找到我们 。) 下面是问题的关键所在: 我们是真的要向 onClick 参数添加多个子例程,还是仅想要在任何时候单击按钮时能够运行多个子例程? 如果是后者,我们有下面的答案: 复制代码 代码如下: <html> <head> <title>Multiple Subroutines</title> <HTA:APPLICATION ID="objHTAHelpomatic" APPLICATIONNAME="MultipleSubroutines" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="maximize" > </head> <SCRIPT Language="VBScript"> Sub RunScripts Script_1 Script_2 Script_3 End Sub Sub Script_1 Msgbox "This is subroutine 1." End Sub Sub Script_2 Msgbox "This is subroutine 2." End Sub Sub Script_3 Msgbox "This is subroutine 3." End Sub </SCRIPT> <body> <input type="button" value="Run Button" onClick="RunScripts"> </body> </html> 如果粗略地看一下该代码,您可能会注意到按钮的 HTML 标记: <input type="button" value="Run Button" onClick="RunScripts"> 正如您所见到的那样,我们仅在 onClick 参数中指定了一个单一子例程 (RunScripts) 。 哦,但是看一下子例程 RunScripts 的代码: Sub RunScripts Script_1 Script_2 Script_3 End Sub 答案就在这里 。 在该子例程中我们所做的就是调用其它三个子例程: Script_1、Script_2 和 Script_3 。这就是我们如何从一个按钮的单击事件中运行多个子例程的方法: 我们并不把所有那些子例程都放入 onClick 参数中,而是将其放入 onClick 所调用的单个子例程中 。 |