VBS基础篇 - 条件语句(if与Select Case)

(编辑:jimmy 日期: 2024/12/23 浏览:2)

If...Then...Else

在下面的情况中,您可以使用 If...Then...Else 语句:

在条件为 true 时,执行某段代码

选择两段代码之一来执行时

dim a '定义一个变量
a = 100
if a < 200 then a = 300 '若i<200,则对i重新赋值
msgbox a '输出的值为300

要运行多行代码,必须使用多行(或块)语法,多行(或块)语法包含 End If 语句

dim a,b,c
a=inputbox("请输入a的值:")
b=100
c=200
if a<200 then '条件为 True 时运行某一语句块,条件为 False 时运行另一语句块
  msgbox b
else
  msgbox c
end if

对多个条件进行判断,可以添加任意多个 ElseIf 子句以提供多种选择

dim a
a=inputbox("请输入a的值:")
if a<200 then '条件为 True 时运行某一语句块,条件为 False 时运行另一语句块
  msgbox "执行语句1"
elseif a=200 then 
  msgbox "执行语句2"
elseif a>200 then
  msgbox "执行语句3"
end if

Select Case结构提供了 If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case语句提供的功能与 If...Then...Else语句类似,但是可以使代码更加简练易读。

'Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较,如果匹配,则执行与该Case 关联的语句块。
dim a
a=inputbox("随便填写一个数")
a=int(a)
select case a 
  case 6,7,8,9 msgbox("还行")
  case 10,11,12,13,14,15 msgbox("一般")
  case 16,17,18,19,20 msgbox("可以了")
  case 21,22,23,24,25 msgbox("无敌了")
  case else msgbox("做梦呢")
end select

注意: Select Case结构只计算开始处的一个表达式(只计算一次),而 If...Then...ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替If...Then...ElseIf 结构。