欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VBScript的入门学习资料

程序员文章站 2022-04-10 11:53:26
microsoft visual basic scripting edition 是程序开发语言 visual...
microsoft visual basic scripting edition 是程序开发语言 visual basic 家族的最新成员,它将灵活的 script 应用于更广泛的领域,包括 microsoft internet explorer 中的 web 客户机 script 和 microsoft internet information server 中的 web 服务器 script。

  易学易用

  如果您已了解 visual basic 或 visual basic for applications,就会很快熟悉 vbscript。即使您没有学过 visual basic,只要学会 vbscript,就能够使用所有的 visual basic 语言进行程序设计。虽然您可以从本教程的几个 web 页面中学习 vbscript,但是本教程并没有告诉您如何编程。要学习编程,请阅读由 microsoft press 出版的《step by step》。

  activex script

  vbscript 使用 activex™ script 与宿主应用程序对话。使用 activex script,浏览器和其他宿主应用程序不再需要每个 script 部件的特殊集成代码。activex script 使宿主可以编译 script、获取和调用入口点及管理开发者可用的命名空间。通过 activex script,语言厂商可以建立标准 script 运行时语言。microsoft 将提供 vbscript 的运行时支持。microsoft 正在与多个 internet 组一起定义 activex script 标准以使 script 引擎可以互换。 activex script 可用在 microsoft® internet explorer 和 microsoft® internet information server 中。

  其他应用程序和浏览器中的 vbscript

  作为开发者,您可以在您的产品中免费使用 vbscript 源实现程序。microsoft 为 32 位 windows® api、16 位 windows api 和 macintosh® 提供 vbscript 的二进制实现程序。vbscript 与 world wide web 浏览器集成在一起。vbscript 和 activex script 也可以在其他应用程序中作为普通 script 语言使用。

  什么是 vbscript 数据类型?
  vbscript 只有一种数据类型,称为 variant。variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 variant 是 vbscript 中唯一的数据类型,所以它也是 vbscript 中所有函数的返回值的数据类型。

  最简单的 variant 可以包含数字或字符串信息。variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 vbscript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 vbscript 将按字符串处理。当然,也可以将数字包含在引号 (" ") 中使其成为字符串。

  variant 子类型

  除简单数字或字符串以外,variant 可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。当然,从 boolean 值到浮点数,数值信息是多种多样的。variant 包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进 variant 中,而 variant 也会按照最适用于其包含的数据的方式进行操作。

  下表显示 variant 包含的数据子类型:

  子类型 描述
  empty 未初始化的 variant。对于数值变量,值为 0;对于字符串变量,值为零长度字符串 ("")。

  null 不包含任何有效数据的 variant。

  boolean 包含 true 或 false。

  byte 包含 0 到 255 之间的整数。

  integer 包含 -32,768 到 32,767 之间的整数。

  currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。

  long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。

  single 包含单精度浮点数,负数范围从 -3.402823e38 到 -1.401298e-45,正数范围从 1.401298e-45 到 3.402823e38。

  double 包含双精度浮点数,负数范围从 -1.79769313486232e308 到 -4.94065645841247e-324,正数范围从 4.94065645841247e-324 到 1.79769313486232e308。

  date (time) 包含表示日期的数字,日期范围从公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。

  string 包含变长字符串,最大长度可为 20 亿个字符。

  object 包含对象。

  error 包含错误号。

  您可以使用转换函数来转换数据的子类型。另外,可使用 vartype 函数返回数据的 variant 子类型。

  什么是变量?

  变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 script 运行时可更改的程序信息。例如,可以创建一个名为 clickcount 的变量来存储用户单击 web 页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在 vbscript 中只有一个基本数据类型,即 variant,因此所有变量的数据类型都是 variant。

  声明变量

  声明变量的一种方式是使用 dim 语句、public 语句和 private 语句在 script 中显式声明变量。例如:

dim degreesfahrenheit
声明多个变量时,使用逗号分隔变量。例如:

dim top, bottom, left, right

  另一种方式是通过直接在 script 中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行 script 时出现意外的结果。因此,最好使用 option explicit 语句显式声明所有变量,并将其作为 script 的第一条语句。

  命名规则

  变量命名必须遵循 vbscript 的标准命名规则。变量命名必须遵循:

第一个字符必须是字母。
不能包含嵌入的句点。
长度不能超过 255 个字符。
在被声明的作用域内必须唯一。
变量的作用域与存活期
变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被 script 中所有过程所识别,称为 script 级变量,具有 script 级作用域。

  变量存在的时间称为存活期。script 级变量的存活期从被声明的一刻起,直到 script 运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

  给变量赋值

  创建如下形式的表达式给变量赋值:变量在表达式左边,要赋的值在表达式右边。例如:

b = 200

  标量变量和数组变量

  多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号 ( )。下例声明了一个包含 11 个元素的一维数组:

  dim a(10)

  虽然括号中显示的数字是 10,但由于在 vbscript 中所有数组都是基于 0 的,所以这个数组实际上包含 11 个元素。在基于 0 的数组中,数组元素的数目总是括号中显示的数目加 1。这种数组被称为固定大小的数组。

  在数组中使用索引为数组的每个元素赋值。从 0 到 10,将数据赋给数组的元素,如下所示:

a(0) = 256
a(1) = 324
a(2) = 100
. . .
a(10) = 55

  与此类似,使用索引可以检索到所需的数组元素的数据。例如:

. . .
somevariable = a(8)
. . .

  数组并不仅限于一维。数组的维数最大可以为 60(尽管大多数人不能理解超过 3 或 4 的维数)。声明多维数组时用逗号分隔括号中每个表示数组大小的数字。在下例中,mytable 变量是一个有 6 行和 11 列的二维数组:

dim mytable(5, 10)

  在二维数组中,括号中第一个数字表示行的数目,第二个数字表示列的数目。

  也可以声明动态数组,即在运行 script 时大小发生变化的数组。对数组的最初声明使用 dim 语句或 redim 语句。但是对于动态数组,括号中不包含任何数字。例如:

  dim myarray()
  redim anotherarray()

  要使用动态数组,必须随后使用 redim 确定维数和每一维的大小。在下例中,redim 将动态数组的初始大小设置为 25,而后面的 redim 语句将数组的大小重新调整为 30,同时使用 preserve 关键字在重新调整大小时保留数组的内容。

  redim myarray(25)
. . .
redim preserve myarray(30)

  重新调整动态数组大小的次数是没有任何限制的,但是应注意:将数组的大小调小时,将会丢失被删除元素的数据。