vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码_vbs

问:
您好,脚本专家! 在您的 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> 

注意: 前面的代码被设计为从一个 HTA(HTML 应用程序)运行。 如果想要测试该代码,只需复制该脚本,将其粘贴到记事本或者其它的文本编辑器,并且用 .HTA 文件扩展名保存。

如果粗略地看一下该代码,您可能会注意到按钮的 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 所调用的单个子例程中。

时间: 2024-09-20 12:06:20

vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码_vbs的相关文章

用VBS调用程序并对程序的运行情况进行监控的两个代码_vbs

有同时要用一个CAE软件调用外部程序,但是,通过这个CAE软件调用外部程序以后,因为这个外部程序有参数,调用方法写在Bat文件里的,由CAE软件来调用这个Bat,所以,CAE软件没办法对调用的程序进行监控,调用的程序还在运行当中,准备工作还没完成,就到了下一流程,所以,造成流程出错,我写了两个VBS代码,通过它来调用就解决了这个问题!两个小程序分别是按不同的方式来监控的!    两个程序的调用方式不一样,一个是对系统进程进行监控,一个是对程序生成的文件特征进行监控! 第一个: '该程序用来配合S

JS中获取函数调用链所有参数的方法

  这篇文章主要介绍了JS中获取函数调用链所有参数的方法,本文直接给出代码示例,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function getCallerArgument(){ var result = []; var slice = Array.prototype.slice; var caller = arguments.callee.caller;   while(caller){ result = result.conca

javascript-js中我传过来的参数组合能alert 单个alert却提示undefined

问题描述 js中我传过来的参数组合能alert 单个alert却提示undefined function updateBonus(id,bgName,buName){ alert(id,bgName,buName); 能显示 alert(bgName); 显示undefined var msg =null; msg ="将进行BG("+bgName+"),BU("+buName+")绩效奖金数据的从新生成,将清空所有下发状态,请谨慎操作!"; m

A标签中通过href和onclick传递的this对象实现思路_javascript技巧

在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件.想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息.我想得到的是innerText,而这个this并非指向它所在的A标签. 这是<a href="Javascript:shoControlSidebar(this)">和<a

脚本乐园 Shell中命令行选项和参数的处理

在Linux的Shell中怎样处理tail -n 10 access.log这样的命令行选项呢?这是被别人问起的一个问题,好好学习了一下,进行总结如下:在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景.1.直接处理,依次对$1,$2,...,$n进行解析,分别手工处理:2.getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项):3.getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/ho

A标签中通过href和onclick传递的this对象实现思路

想传递当前对象给一个函数,于是就将这个URL写成"JavaScript:shoControlSidebar(this)",可是结果发现这并不可行,接下来为大家详细介绍下解决方法 在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件.想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息.我想得到的是

在系统中使用Bean Validation验证参数

为什么要使用Bean Validation?  当我们实现某个接口时,都需要对入参数进行校验.例如下面的代码 public String queryValueByKey(String parmTemplateCode, String conditionName, String conditionKey, String resultName) { checkNotNull(parmTemplateCode, "parmTemplateCode not null"); checkNotNu

Objective-C中把URL请求的参数转换为字典

        上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字符串的截取,关键是怎么个截法,才能把字符串中的参数列表分别转换成键值对.下面是小菜自己的转换思路,如果有更好的结局方法还请批评指正,相互学习交流一下,转载请注明出处.         首先我们得会一个字符串拆分函数 componentsSeparatedByString:@"&

在Discuz论坛中插入FLASH的相关参数设置

此贴是详细讲解如何自定义"FLASH"代码参数设置,建议新手看看. 最终在Discuz论坛中插入FLASH,实现的效果图如下: 可以定义FLASH的高度和宽度,及路径.. 首先要明白的是,若想在发贴时插入Flash 动画,必须满足三个因素:1)   相应的版块设置中必须是"允许使用 Discuz! 代码" 2)相应的用户组权限必须是"允许使用自定义 Discuz! 代码" 2)必须把 [flash] 代码设置为"可用"(如图所