VBScript 条件语句

VBScript 条件语句详解

VBScript 提供了两种主要的条件语句:If…Then…ElseSelect Case。它们用于根据条件执行不同的代码块。

1. If…Then…Else 语句

最常用、最灵活的条件判断结构。

语法结构

  • 单行形式(简单条件):
  If 条件 Then 语句
  ' 或
  If 条件 Then 语句1 Else 语句2
  • 多行形式(推荐用于复杂逻辑):
  If 条件1 Then
      语句块1
  ElseIf 条件2 Then
      语句块2
  ElseIf 条件3 Then
      语句块3
  Else
      语句块4
  End If

完整示例

Option Explicit

Dim score
score = InputBox("请输入成绩(0-100):")

If Not IsNumeric(score) Then
    MsgBox "请输入有效的数字!"
Else
    score = CInt(score)  ' 转换为整数

    If score > 100 Or score < 0 Then
        MsgBox "成绩必须在0-100之间!"
    ElseIf score >= 90 Then
        MsgBox "优秀!等级:A", vbInformation
    ElseIf score >= 80 Then
        MsgBox "良好!等级:B", vbInformation
    ElseIf score >= 70 Then
        MsgBox "中等!等级:C", vbInformation
    ElseIf score >= 60 Then
        MsgBox "及格!等级:D", vbInformation
    Else
        MsgBox "不及格!需要努力哦~", vbExclamation
    End If
End If

常用比较运算符

运算符含义示例
=等于a = b
<>不等于a <> b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

逻辑运算符

运算符含义示例
And并且If a > 0 And b > 0 Then
Or或者If a = 1 Or b = 1 Then
NotIf Not isEmpty(var) Then
Xor异或很少用

2. Select Case 语句

适合当一个变量需要与多个值比较时,比多层 If 更清晰易读。

语法

Select Case 表达式
    Case 值1
        语句块1
    Case 值2
        语句块2
    Case 值3 To 值5   ' 范围
        语句块3
    Case Is > 值6     ' 比较表达式
        语句块4
    Case Else         ' 默认情况
        语句块5
End Select

示例1:星期判断

Option Explicit

Dim weekDay
weekDay = Weekday(Now)  ' 返回1(周日)到7(周六)

Select Case weekDay
    Case 1, 7
        MsgBox "今天是周末,休息吧!"
    Case 2 To 6
        MsgBox "今天是工作日,努力上班!"
    Case Else
        MsgBox "无效的日期"
End Select

示例2:成绩等级(更简洁版)

Dim score
score = CInt(InputBox("请输入成绩:"))

Select Case score
    Case Is >= 90
        MsgBox "A - 优秀"
    Case Is >= 80
        MsgBox "B - 良好"
    Case Is >= 70
        MsgBox "C - 中等"
    Case Is >= 60
        MsgBox "D - 及格"
    Case Else
        MsgBox "F - 不及格"
End Select

示例3:多条件匹配(字符串)

Dim fruit
fruit = LCase(InputBox("请输入水果名称:"))

Select Case fruit
    Case "apple", "pear", "banana"
        MsgBox "这是常见水果"
    Case "durian", "mangosteen"
        MsgBox "这是热带水果"
    Case Else
        MsgBox "其他水果"
End Select

3. 嵌套条件语句

If 和 Select Case 可以相互嵌套使用。

Dim age, gender
age = CInt(InputBox("年龄:"))
gender = LCase(InputBox("性别(male/female):"))

If age < 18 Then
    MsgBox "未成年"
Else
    If gender = "male" Then
        MsgBox "成年男性"
    Else
        MsgBox "成年女性"
    End If
End If

4. 小技巧与注意事项

  • 条件表达式必须返回 TrueFalse
  • 字符串比较默认不区分大小写(”ABC” = “abc” 为 True),如需区分大小写,用 StrComp(str1, str2, vbBinaryCompare)
  • 避免过于复杂的嵌套,超过3层建议拆分成函数
  • ElseIf 而不是多个独立 If,提高效率
  • Select Case 只能对一个表达式进行多值判断,不能直接写复杂条件(如 And/Or)

如果你有具体场景需求(如判断文件是否存在、根据时间段问候、验证输入格式等),告诉我,我可以提供完整的条件判断代码示例!

文章已创建 3511

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部