2023年11月30日发(作者:)

VBS教程

Wscript教程

Wscript教程

1CreateObject

描述:创建一个对象

语法:CreateObject(type,[servername])

解释:appname 必需的,Variant(字符串)。提供该对象的应用程序名。

objecttype 必需的;Variant(字符串)。待创建对象的类型或类。

servername 可选的; Variant (String). 要在其上创建对象的网络服务器名称。

说明:要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量:

Set ExcelSheet = CreateObject("")'的引用。

每个支持自动化的应用程序都至少提供一种对象类型。

例如,一个字处理应用程序可能会提供 Application 对象,Document 对象,以及

Toolbar 对象。要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对

象变量:

例子:

Dim ExcelSheet As Object'声明一个对象变量来存放该对象

Set ExcelSheet = CreateObject("")

e = True '设置 Application 对象使 Excel 可见

(1, 1).Value = "This is column A, row 1"'在表格的第一个单元中写

些文本

"C: "'将该表格保存到 C: 目录

'使用应用程序对象的 Quit 方法关闭 Excel

Set ExcelSheet = Nothing'释放该对象变量

上述代码将启动该应用程序创建该对象,在本例中就是创建一个 Microsoft Excel

子数据表。对象创建后,就可以在代码中使用自定义的对象变量来引用该对象。在下面

的示例中,可以使用对象变量 ExcelSheet 来访问新建对象的属性和方法,以及访问

Microsoft Excel 的其它对象,包括应用程序对象和单元格集合。

2GetObject

描述:从文件中检索一个 Automation 对象, 或检索 参数所指定的对象

strProgID

语法:ect(strPathname [,strProgID], [strPrefix])

参数:object必选项。WScript 对象。

strPathname必选项。包含要获取的对象的完整路径和名称。

strProgID可选项。表示对象的程序标识符(ProgID)的字符串。

strPrefix可选项。如果指定了参数 Windows 脚本宿 主将在创建对象

strPrefix

之后把对象的输出接口与脚本文件连接起来。在对象中触发事件时,Windows 脚本宿

主将调用一个子例程,其名称包括 和事件的名称。

strPrefix

1

VBS教程

Wscript教程

例如,如果 strPrefix "MYOBJ_"对象产生的事件为 "OnBegin,"那么 Windows

脚本宿主将调用脚本中的 "MYOBJ_OnBegin" 子例程。

说明:

如果当前存在对象的实例或者希望使用已经被装载的文件创建对象,可使用

GetObject 方法。如果当前不存在实例,而且不希望 从已经装载的文件中启动对象,

请使用 CreateObject 方法。

如果一个对象将自己注册为单实例对象(例如,Microsoft Word 7.0 中的

对象),那么无论执行 CreateObject 多少次也只能创建对象的一个实例。此外,对

于单实例的对象,如果用零长度的字符串语法("")调用,GetObject 总是返回同样的实

例,而且如果省略路径参数将导致错误。使用 GetObject 不能获得对 Visual Basic

4.0 以及以前版本创建的 Microsoft Visual Basic(R)类的引用。

GetObject 适用于所有的 COM 类,不受创建对象所用语言的限制。

示例

在执行下列代码时,与指定的 相关联的应用程序被启动,指定文件中的

strPathname

对象被激活。 如果 是一个零长度的字符串 ("") GetObject 将返回

strPathname

指定类型的新对象实例。如果 参数完全被省略,GetObject 将返回指

strPathname

定类型的当前活动对象。如果不存在指定类型的对象,将发生错误。

Dim MyObject As Object

Set MyObject = GetObject("C:")

MyApp = ation

某些应用程序允许激活一个文件的某些部分。如果要这样做,需要在文件名后添加一个

惊叹号 (!),然后跟一个字符串,标识出文件中希望被激活的部分。关于如何创建该字

符串的信息,请参阅创建对象的应用程序的有关文档。

例如,在一个绘图应用程序中,文件中存储的一幅图可能包含多层。可以使用下面的代

码激活绘图文件中称为 的一层:

Set LayerObject = GetObject("C:!Layer3")

如果不指定对象的类,COM 将根据所提供的文件名来确定要启动的应用程序和要激活

的对象。但是,某些文件可能支持多个对象类。例如,一幅图纸可能支持三种不同类型

的对象:一个应用程序对象,一个绘图对象,以及一个工具栏对象,它们都是同一个文

件的组成部分。

在下例中,FIGMENT 是一个绘图应用程序的名称,DRAWING 是它支持的对象类型

之一。

Dim MyObject As Object

Set MyObject = GetObject("C:",

"G")

3Quit

2

VBS教程

Wscript教程

描述:退出执行,返回指定的错误代码。

语法: [intErrorCode]

解释:object 必选项。 WScript 对象。

intErrorCode可选项。如果包含此参数,WScript 将把它作为进程终止码返回。

如果省略了 intErrorCodeWScript 将返回零 (0) 作为进程终止码。

例子:

下例退出执行并返回错误代码 1

4Sleep

描述:使脚本进程在指定的毫秒数内处于非活动状态,然后继续执行。

语法:(intTime)

参数:object必选项。WScript 对象。

intTime脚本进程在非活动状态的时间长度,以毫秒为单位。

说明:

在睡眠状态下,脚本将继续执行所处理的事件。如果脚本引擎超时 或被中断,睡眠将

立即结束。

例子:

(3000)

set apprun=createobject("")

"%windir%"

此例子将会延迟3秒启动记事本。

5timeout

描述:设置脚本的生存时间

语法:t

例子:

t=10

msgbox "hello"

6Echo

描述:将输出发送到对话框或控制台。

语法: [Arg1] [,Arg2] [,Arg3] ...

参数:object必选项。WScript 对象。

Arg1, Arg2, Arg3 ...所显示的项的列表。

说明:

如果宿主为 本方法将把输出显示在对话框中;如果宿主为

结果将显示在控制台上。每一项将被一个空格隔开。 下,输出的末尾

被加上换行符。如果未提供任何项,显示的将是空行。

3

VBS教程

Wscript教程

例子:

set fso=createobject("stemobject")

set f=xtfile("c:")

l

将会显示这个文件里面的所有内容。这么看来,他的功能跟msgbox一样,不过不如

他强大。

7ConnectObject

描述:将一个对象事件源连接到具有给定前缀的函数。

语法:tObject strObject, strPrefix

参数:object必选项。WScript 对象。

strObject要连接的对象的名称。

strPrefix事件函数的前缀。

说明:

对象必须能够枚举自己类的事件集合。

例子:

下例实例化了一个假想的对象,并将其连接到脚本文件。然后脚本调用该对象的

"SomeMethod" 方法。如果对象中发生了名为 "Event"的事件,将调用

MyEvent_Event 子例程。

Set MyObject = Object("SomeObject")

thod

WScript.ConnectObject MyObject, "MyEvent"

Sub MyEvent_Event(strName)

strName

End Sub

nectObject MyObject

8DisconnectObject

描述:将原先与 Windows 脚本宿主连接的对象断开。

语法:nectObject obj

参数:object必选项。WScript 对象。

obj要断开连接的对象的名称。

说明:

如果所指定的对象尚未被连接到 Windows 脚本宿主,则此方法不起任何作用。

例子:

下例创建了一个假想的对象并将其连接到脚本文件。然后脚本调用对象的

"SomeMethod" 方法。如果对象中发生名为 "Event" 的错误,MyEvent_Event

例程将被调用。

4

VBS教程

Wscript教程

Set MyObject = Object("SomeObject", "MyEvent")

thod

Sub MyEvent_Event(strName)

strName

End Sub

WScript.DisconnectObject MyObject

5