VBS---IsNull() 和 IsEmpty() 的区别

卞轶
2023-12-01

Null 与 Empty 不同,Null 值指出变量不包含有效数据,Empty 指出变量未经初始化。
  Null 与零长度字符串("")也不同,零长度字符串往往指的是空串。
IsEmpty(expression):

  该函数返回 Boolean 值指明变量是否已被初始化。
  参数 expression 可以是任意表达式,然而由于 IsEmpty() 函数用于判断一个变量是否已被初始化,故 expression 参数常是一个变量名。
  如果变量未初始化或显式地设为 Empty,则 IsEmpty() 函数返回 True,否则返回 False。
  如果 expression 参数包含一个以上的变量,该函数总返回 False。

  典型示例:

Dim MyVar,MyCheck
MyCheck=IsEmpty(MyVar)  '返回 True
MyVar=Null              '赋为 Null
MyCheck=IsEmpty(MyVar)  '返回 False
MyVar=Empty             '赋为 Empty
MyCheck=IsEmpty(MyVar)  '返回 True

IsNull(expression):
  该函数返回 Boolean 值,指明 expression 是否包含任何有效数据(Null)。
  参数 expression 可以是任意表达式。
  如果 expression 为 Null,则 IsNull() 函数返回 True,即表达式不包含任何有效数据,否则返回 False。
  如果表达式由多个变量组成,则任何组成变量中的 Null 都会使整个表达式返回 Null。
  使用 IsNull() 函数可以判断表达式是否包含 Null 值。任何包含 Null 的表达式本身就为 Null。

  典型示例:

Dim MyVar,MyCheck
MyCheck=IsNull(MyVar)  '返回 False
MyVar=Null             '赋为 Null
MyCheck=IsNull(MyVar)  '返回 True
MyVar=Empty            '赋为 Empty
MyCheck=IsNull(MyVar)  '返回 False

---------------------------------------------------------------------------

str = InputBox("Enter astring")
MsgBox TypeName(str)

当没有输入字符直接按“确定”时输出String,而按“取消”时输出Empty。于是,似乎可以这样来判断到底是“确定”还是“取消”:

IsEmpty()函数

 类似资料: