VB中Dim语句的功能及用法

  语法

  Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .

  Dim 语句的语法包含下面部分:

 

部分 描述
WithEvents 可选的。关键字,说明 varname 是一个用来响应由 ActiveX 对象触发的事件的对象变量。只有在类模块中才是合法的。使用 WithEvents,可以声明任意个所需的单变量,但不能使用 WithEvents 创建数组。NewWithEvents 不能一起使用。
varname 必需的。变量的名称;遵循标准的变量命名约定。
subscripts 可选的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法:
  [lower To] upper [, [lower To] upper] . . .
  如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有使用 Option Base 语句,则下界为 0。
New 可选的。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用 Set 语句来给该对象引用赋值。New 关键字不能声明任何内部数据类型的变量,以及从属对象的实例,也不能与 WithEvents 一起使用。
type 可选的。变量的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length (对定长的字符串)、Object、Variant、用户定义类型、或对象类型。所声明的每个变量都要一个单独的 As type 子句。

  说明

  在模块级别中用 Dim 声明的变量,对该模块中的所有过程都是可用的。在过程级别中声明的变量,只在过程内是可用的。

  可以使用 Dim 语句在模块级或过程级中声明变量的数据类型。例如,下面的语句声明了 Integer 类型的变量。

  Dim NumberOfEmployees As Integer

  也可以使用 Dim 语句来声明变量的对象类型。下面的语句为工作表的新建实例声明了一个变量。

  Dim X As New Worksheet

  如果定义对象变量时没有使用 New 关键字,则在使用该变量之前,必须使用 Set 语句将该引用对象的变量赋值为一个已有对象。在该变量被赋值之前,所声明的对象变量有一个特定值 Nothing,这个值表示该变量没有指向任一个对象实例。

  也可以使用带空圆括号的 Dim 语句来定义动态数组。在定义动态数组后,可以在过程内使用 ReDim 语句来定义该数组的维数和元素。如果试图在 PrivatePublicDim 语句中重新定义一个已显式定义了大小的数组的维数时,就会发生错误。

  如果不指定数据类型或对象类型,且在模块中没有 Deftype 语句,则该变量按缺省设置是 Variant 类型。

  当初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串 (""),而定长的字符串则用 0 填充。Variant 变量被初始化为 Empty。用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。

  注意 当在过程中使用 Dim 语句时,通常将 Dim 语句放在过程的开始处。

时间: 2024-12-27 00:30:18

VB中Dim语句的功能及用法的相关文章

VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组?

问题描述 VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组? VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组? 解决方案 正序 for i = lbound(arr) to ubound(arr) arr(i) next 逆序 for i = ubound(arr) to lbound(arr) step -1 arr(i) next 解决方案二: 一个加密解密函数 for vb6.0!VB6.0中的编译预处理--#IF语句

VC++中subclassdlgitem函数的功能、用法及注意事项

subclassdlgitem 该函数用来子类化一个控件. Subclass(子类化)是MFC中最常用的窗体技术之一.子类化完成两个工作:一是把窗体类对象attach到一个windows窗体实体中(即把一个窗体的hwnd赋给该类).另外就是把该类对象的消息加入到消息路由中,使得该类可以捕获消息. SubclassDlgItem可以把对话框中已有的控件与某个窗口对象动态连接起来,该窗口对象将接管控件的消息处理,从而使控件具有新的特性.SubclassDlgItem函数的声明为 BOOL Subcl

Oracle中hint语句的30个用法

在SQL语句优化过程中,经常会用到hint,下面我们来介绍一下在SQL优化过程中常见Oracle中"HINT"的 30个用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应

VC++中subclassdlgitem函数的功能及用法

  该函数用来子类化一个控件. Subclass(子类化)是MFC中最常用的窗体技术之一.子类化完成两个工作:一是把窗体类对象attach到一个windows窗体实体中(即把一个窗体的hwnd赋给该类).另外就是把该类对象的消息加入到消息路由中,使得该类可以捕获消息. SubclassDlgItem可以把对话框中已有的控件与某个窗口对象动态连接起来,该窗口对象将接管控件的消息处理,从而使控件具有新的特性.SubclassDlgItem函数的声明为 BOOL SubclassDlgItem( UI

linux中循环语句for,while,until用法

循环语句:     Bash Shell中主要提供了三种循环方式:for.while和until.     for循环声明格式:  代码如下 复制代码     for variable in word_list     do         command     done     见如下示例脚本:      代码如下 复制代码 /> cat > test7.sh     for score in math english physics chemist   #for将循环读取in后面的单词列

vb-Vb中如何编码撤销功能,也就是返回上一步的操作!求代码

问题描述 Vb中如何编码撤销功能,也就是返回上一步的操作!求代码 5C Vb中如何编码撤销功能,也就是返回上一步的操作!求代码!求解答! 解决方案 直接往你的文本框发送 wm_undo 消息Declare Function SendMessage Lib ""user32"" Alias ""SendMessageA"" (ByVal hwnd As Long _ByVal wMsg As Long ByVal wParam

Javascript中With语句用法实例

  本文实例讲述了Javascript中With语句用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&qu

详解Python中with语句的用法_python

引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用),从 2.6 版本开始缺省可用(参考 What's new in Python 2.6? 中 with 语句相关部分介绍).with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的"清理"操作,释放资源,比如文件使用后自动关闭.线程中锁的自动获取和释放等. 术

请教关于vb.net中引用matlab绘图功能的问题

问题描述 我vb.net中的语句是这样子的:objmatlab.execute("plot3(xmat,ymat,zmat)")objmatlab.execute("mesh(xxx,yyy,zzz)") 就是引用matlab的绘图功能,但是现在有个小问题,如果我在正常开启了MATLAB之后运行我语句中的绘图功能,程序可以正常运行,但是如果我不开启MATLAB直接运行程序,则只绘出第一个命令中的图形,到第二个图形的时候报错.请教各位有没什么办法避免先要开启MATLA