Option Base 语句
在模块级别中使用,用来声明数组下标的缺省下界。
语法
Option Base {0 | 1}
说明
由于下界的缺省设置是 0,因此无需使用 Option Base 语句。如果使用该语句,则必须写在模块的所有过程之前。一个模块中只能出现一次 Option Base,且必须位于带维数的数组声明之前。
注意 Dim、Private、Public、ReDim 以及 Static 语句中的 To 子句提供了一种更灵活的方式来控制数组的下标。不过,如果没有使用 To 子句显式地指定下界,则可以使用 Option Base 将缺省下界设为 1。使用 Array 函数或 ParamArray 关键字创建的数组的下界为 0;Option Base 对 Array 或 ParamArray 不起作用。
Option Base 语句只影响位于包含该语句的模块中的数组下界。
----------------------------------------------------------------------------------------------------------------------------------------------------
Option Compare 语句
在模块级别中使用,用于声明字符串比较时所用的缺省比较方法。
语法
Option Compare {Binary | Text | Database}
说明
如果使用,则 Option Compare 语句必须写在模块的所有过程之前。
Option Compare 语句为模块指定字符串比较的方法(Binary、Text 或 Database)。如果模块中没有 Option Compare 语句,则缺省的文本比较方法是 Binary。
Option Compare Binary 是根据字符的内部二进制表示而导出的一种排序顺序来进行字符串比较。在 Microsoft Windows 中,排序顺序由代码页确定。典型的二进制排序顺序如下例所示:
A < B < E < Z < a < b < e < z < _ < _ < _ < _ < _ < ?
Option Compare Text 根据由系统国别确定的一种不区分大小写的文本排序级别来进行字符串比较。当使用 Option Compare Text 对相同字符排序时,会产生下述文本排序级别:
(A=a) < ( _=_) < (B=b) < (E=e) < (_=_) < (Z=z) < (_=_)
Option Compare Database 只能在 Microsoft Access 中使用。当需要字符串比较时,将根据数据库的国别 ID 确定的排序级别进行比较。
----------------------------------------------------------------------------------------------------------------------------------------------------
Option Explicit 语句
在模块级别中使用,强制显式声明模块中的所有变量。
语法
Option Explicit
说明
如果使用,Option Explicit 语句必须写在模块的所有过程之前。
如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。
如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。
注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
----------------------------------------------------------------------------------------------------------------------------------------------------
Option Private 语句
在允许引用跨越多个工程的主机应用程序中使用 Option Private Module,可以防止在模块所属的工程外引用该模块的内容。在不允许这种引用的主机应用程序中,例如,Visual Basic 的独立方式版本,Option Private 就不起作用。
语法
Option Private Module
说明
如果使用 Option Private 语句,则必须是写在模块级别中的任何过程之前。
如果模块中使用了 Option Private Module,则其公用部分(例如,在模块级定义的变量,对象,以及用户定义类型)在该模块所属的工程内仍是可用的,但对其它应用程序或工程则是不可用的。
注意 只有在支持同时加载多个工程,且允许在加载的工程间引用的主应用程序中可使用 Option Private。例如,Microsoft Excel 允许加载多个工程,Option Private Module 就可以用来限制跨工程的可见性。尽管 Visual Basic 允许加载多个工程,但在 Visual Basic 中是从不允许跨工程引用的。