vbs最常用的即为Do循环、for循环和if判断,与各函数配合可实现大部分简单的功能,也可在vba中使用,十分方便。下面我将进行简单的介绍:
IF判断
格式:
If condition Then [statements][Else elsestatements]
或者,可以使用块形式的语法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements] ...
[Else
[elsestatements]]
End If
工作方式为:
当设置的条件(condition)成立时,执行Then后面的[statements],执行结束后跳到end if;
如果不成立,则判断ElseIf 后面的的条件(condition-n),成立时,执行Then后面的[elseifstatements],执行结束后跳到end if;
如果还不成立,则执行Else后面的[elsestatements],执行结束后跳到end if;
IF判断中的Elseif 和Else都为可选的。必选格式为If……Then……End If。
如果if条件不成立时,且没有else可判断,将跳到end if(是不会有error的)。
例1:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test0()<br>
Dim
t, str<br>t = InputBox(
"select one number(0-3)"
)<br>
If
t = 0
Then
<br>MsgBox (
"Zero"
)<br>
ElseIf
t = 1
Then
<br>MsgBox (
"One"
)<br>
ElseIf
t = 2
Then
<br>MsgBox (
"Two"
)<br>
ElseIf
t = 3
Then
<br>MsgBox (
"Three"
)<br>
Else
<br>MsgBox (
"Sorry, out of range!"
)<br>
End
If
<br>
End
Sub
<br></span>
|
例2:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test0()<br>
Dim
t, str<br>t = InputBox(
"select one number(0)"
)<br>
If
t = 0
Then
<br>MsgBox (
"Zero"
)<br>
End
If
<br>
End
Sub
<br></span>
|
Do循环
格式:
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
其工作方式简而言之就是重复[statements]直到{While | Until} 中的条件成立,也可不设置条件(condition),加入if判断退出循环(例3)。
必选参数为Do……Loop,其余的缺了也没事。
例1:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 0<br>
Do
<br>t = t + 1<br>str = str &
","
& t<br>
Loop
Until
t = 4<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:0,1,2,3,4
上述可同样表达为:
例2:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 0<br>
Do
While
t < 4<br>t = t + 1<br>str = str &
","
& t<br>
Loop
<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:0,1,2,3,4
Exit Do 则可配合if判断使用,表示退出当前的do循环。
例3:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 0<br>
Do
<br>t = t + 1<br>str = str &
","
& t<br>
If
t = 4
Then
<br>
Exit
Do
<br>
End
If
<br>
Loop
<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:0,1,2,3,4
For循环
格式:
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
工作方式为:
在指定步数下循环执行[statements],跟Do一样,可加入if……exit for判断退出for循环。当步数走完后跳到next。
counter 为数值变量
start 为起始位置,end 为终点,step为迈的步长,step可为负数(减法)。
必选格式为for……to……next。其余为可选参数。
由于过于简单,直接跳到例子吧。
例1:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 0<br>
For
t = 1
To
4<br>str = str &
","
& t<br>
Next
<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:0,1,2,3,4
加入step参数:
例2:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 0<br>
For
t = 1
To
8
Step
2<br>str = str &
","
& t<br>
Next
<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:0,1,3,5,7
当step为负数时:
例3:
1
|
<span style=
"font-size: 16px; font-family: 宋体, SimSun;"
>
Sub
test1()<br>
Dim
t, str<br>str = 8<br>
For
t = 6
To
0
Step
-2<br>str = str &
","
& t<br>
Next
<br>MsgBox (str)<br>
End
Sub
<br></span>
|
输出为:8,6,4,2,0
总结到这里,希望能帮助到大家。原文地址:http://www.927tea.com/post/14.html