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