VBS基础篇 - wscript 对象详解 |
本文标签:vbscript,wscript 一、wscript对象 描述:提供对 Windows 脚本宿主对象模型根对象的访问 。 WScript 对象也可用来设置脚本运行的模式(交互模式或批处理模式) 。 二、属性 1、Arguments 属性 描述:用于返回 Arguments 对象(这个对象我们以后会学,现在只需要了解就行) 。 例子:显示本vbs文件运行的参数 Set Arg = WScript.Arguments For i = 0 To Arg.Count - 1 MsgBox Arg(i) Next 将上面这些代码保存为vbs文件,然后将一个或者数个任意的文件拖放到这个vbs文件上面上,那么他会逐个显示你拖放的文件 。(这仅仅给出了一个实例,用到了Arguments对象,其的具体用法我们以后再了解) 2、FullName 属性 描述:返回主机可执行文件(CScript.exe 或 WScript.exe)的完全限定路径 。 例子:显示本机wscript的路径 3、Interactive 属性 描述:设置或确定脚本模式 。 有批处理和交互两种模式 。在交互模式(默认模式)下,该脚本为用户提供交互功能 。启用对 Windows 脚本宿主的输入和输出 。该脚本可以将信息显示在对话框中并等待用户提供反馈 。在批处理模式下,不支持这种类型的用户交互,所有对 WSH 的输入和输出被禁用 。还可以使用 Windows 脚本宿主命令行开关 / / I(对于交互式)和 / / B(对于批处理模式)来设置脚本模式 。 例子:显示本机的脚本模式 4、Name 属性 5、Path 属性 描述:返回包含主机可执行文件(CScript.exe 或 WScript.exe)的路径名称 6、ScriptFullName 属性 描述:返回当前运行脚本的完整路径 。 神奇吧,这个vbs竟然知道他自己的名字 。 7、ScriptName 属性 描述:返回当前运行脚本的文件名 。 8、Version 属性 描述:返回 Windows 脚本宿主的版本 。 三、方法 1、CreateObject方法 描述:创建一个对象 例如,一个字处理应用程序可能会提供 Application 对象,Document 对象,以及 Toolbar 对象 。要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量: Dim ExcelSheet As Object'声明一个对象变量来存放该对象 Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True '设置 Application 对象使 Excel 可见 ExcelSheet.Cells(1, 1).Value = "This is column A, row 1"'在表格的第一个单元中写些文本 ExcelSheet.SaveAs "C:\ TEST.xls"'将该表格保存到 C:\test.xls 目录 ExcelSheet.Application.Quit'使用应用程序对象的 Quit 方法关闭 Excel 。 Set ExcelSheet = Nothing'释放该对象变量 上述代码将启动该应用程序创建该对象,在本例中就是创建一个 Microsoft Excel 电子数据表 。对象创建后,就可以在代码中使用自定义的对象变量来引用该对象 。在下面的示例中,可以使用对象变量 ExcelSheet 来访问新建对象的属性和方法,以及访问 Microsoft Excel 的其它对象,包括应用程序对象和单元格集合 。 2、GetObject方法 描述:从文件中检索一个 Automation 对象, 或检索strProgID 参数所指定的对象 例如,如果 strPrefix 为 "MYOBJ_",对象产生的事件为 "OnBegin,",那么 Windows 脚本宿主将调用脚本中的 "MYOBJ_OnBegin" 子例程 。 说明:如果当前存在对象的实例或者希望使用已经被装载的文件创建对象,可使用 GetObject 方法 。如果当前不存在实例,而且不希望从已经装载的文件中启动对象,请使用 CreateObject 方法 。 如果一个对象将自己注册为单实例对象(例如,Microsoft Word 7.0 中的 Word.Basic 对象),那么无论执行 CreateObject 多少次也只能创建对象的一个实例 。此外,对于单实例的对象,如果用零长度的字符串语法("")调用,GetObject 总是返回同样的实例,而且如果省略路径参数将导致错误 。使用 GetObject 不能获得对 Visual Basic 4.0 以及以前版本创建的 Microsoft Visual Basic(R)类的引用 。 GetObject 适用于所有的 COM 类,不受创建对象所用语言的限制 。 示例:在执行下列代码时,与指定的 strPathname 相关联的应用程序被启动,指定文件中的对象被激活 。 如果 strPathname 是一个零长度的字符串 (""), GetObject 将返回指定类型的新对象实例 。如果 strPathname 参数完全被省略,GetObject 将返回指定类型的当前活动对象 。如果不存在指定类型的对象,将发生错误 。 Dim MyObject As Object Set MyObject = GetObject("C:\CAD\SCHEMA.CAD") MyApp = MyObject.Application 某些应用程序允许激活一个文件的某些部分 。如果要这样做,需要在文件名后添加一个惊叹号 (!),然后跟一个字符串,标识出文件中希望被激活的部分 。关于如何创建该字符串的信息,请参阅创建对象的应用程序的有关文档 。 例如,在一个绘图应用程序中,文件中存储的一幅图可能包含多层 。可以使用下面的代码激活绘图文件中称为 schema.cad 的一层: Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3") 在下例中,FIGMENT 是一个绘图应用程序的名称,DRAWING 是它支持的对象类型之一 。
3、Quit 方法 描述:退出执行,返回指定的错误代码 。 WScript.Quit 描述:使脚本进程在指定的毫秒数内处于非活动状态,然后继续执行 。 wscript.sleep(3000) Set apprun = CreateObject("wscript.shell") apprun.run "%windir%\notepad.exe" 此例子将会延迟3秒启动记事本 。 5、timeout 方法 描述:设置脚本的生存时间 wscript.timeout = 10 MsgBox "hello" 6、Echo 方法 描述:将输出发送到对话框或控制台 。 Set fso = CreateObject("scripting.filesystemobject") Set f = fso.OpenTextFile("c:\test.txt") wscript.echo f.ReadAll 将会显示这个文件里面的所有内容 。这么看来,他的功能跟msgbox一样,不过不如他强大 。 7、ConnectObject 方法 描述:将一个对象事件源连接到具有给定前缀的函数 。 例子:下例实例化了一个假想的对象,并将其连接到脚本文件 。然后脚本调用该对象的 "SomeMethod" 方法 。如果对象中发生了名为 "Event"的事件,将调用 MyEvent_Event 子例程 。 Set MyObject = WScript.CreateObject("SomeObject") MyObject.SomeMethod WScript.ConnectObject MyObject, "MyEvent" Sub MyEvent_Event(strName) WScript.Echo strName End Sub WScript.DisconnectObject MyObject 8、DisconnectObject 方法 描述:将原先与 Windows 脚本宿主连接的对象断开 。 Set MyObject = WScript.CreateObject("SomeObject", "MyEvent") MyObject.SomeMethod Sub MyEvent_Event(strName) WScript.Echo strName End Sub WScript.DisconnectObject MyObject 这篇文章就介绍到这了,需要的朋友可以参考一下 。 |