VB Option Explicit 语句详解:

Option Explicit 语句

简介:
    Option Explicit 语句只用在模块级。
    在模块级别中使用,强制显式声明模块中的所有变量。
    用于在文件级强制对该文件中的所有变量进行显式声明。

语法:
    Option Explicit { On | Off }

说明:
    如果使用,Option Explicit 语句必须写在模块的所有过程之前。如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。


各部分说明:
    On :可选。启用 Option Explicit 检查。如果在 Option Explicit 语句后没有指定 On 或 Off,则默认为 On。

    Off:可选。禁用 Option Explicit 检查。

备注:
    如果使用,则Option Explicit语句必须出现在文件中其他所有源语句之前。

    当Option Explicit出现在文件中时,必须使用Dim、Private、Public 或 ReDim 语句显式声明所有变量。

    试图使用未声明的变量名将发生编译时错误。

    如果没有使用Option Explicit语句,则所有未声明的变量都是 Object 类型。

注意:
    使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。

    使用 Option Explicit 可避免拼错现有变量的名称,或避免在变量范围不清楚的代码中产生混淆。

    如果代码中没有指定Option Explicit,编译器的默认设置将是 Option Explicit On。

示例:
    本示例使用 Option Explicit 语句强制所有变量的显式声明,试图使用未声明的变量将导致编译时错误。

    Option Explicit

    Dim test as string
    Test = "aaa"