每次开始敲一页代码的时候,经常会遇到“定义”这个东西Option Explicit,今天在写程序的时候碰到了一个不需要“Option Explicit”直接定义的,如下:
Option Explicit Dim a,b,c,max '定义变量 Private Sub cmdcomp_Click() If a > b Then '如果 a>b max = a '将a赋值给max Else max = b '否则将b赋值给b End If If c > max Then '如果c>max max = c '将c赋值给变量max End If txt1.Text = max '将max输出到文本框中 End Sub Private Sub cmdexit_Click() Unload Me '卸载窗体 End Sub Private Sub Form_Load() a = Val(InputBox("请输入第一个数")) '输入第一个数后赋值给变量a b = Val(InputBox("请输入第二个数")) '输入第二个数后赋值给变量b c = Val(InputBox("请输入第二个数")) '输入第三个数后赋值给变量c End Sub
于是在网上 查阅了一下Option Explicit 语句
在模块级别中使用,强制显式声明模块中的所有变量。如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是Variant 类型的。
使用 Option Explicit可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
Option Explicit 语句示例
该示例使用 Option Explicit
语句来强制显式声明所有变量。如果试图使用一个未声明的变量,则会在编译时导致错误。
Option Explicit
语句只能在模块级使用。
Option explicit '强制显式地声明变量。
Dim MyVar '声明变量。
MyInt = 10 '未声明的变量将产生错误。
MyVar = 10 '已声明的变量则不会产生错误。
举个很简单的例子来说,同样是在一栋大楼里,有会员卡的可以随意走动,没有会员卡的会被发现并且请出大楼,直白一点说就是:可以减少不必要的错误产生。