VB基础学习
1.基础
2.变量
' 可以通过 Dim、Public 或 Private 语句声明 VBScript 变量。如下所示:
Dim x
Dim carname
VBScript 变量名称的规则:
必须以字母开头
不能包含点号(.)
不能超过 255 个字符
为某个变量赋值,如下所示:
carname="Volvo"
x=10
数组变量用于在一个单一的变量中存储多个值。
在下面的实例中,声明了一个包含 3 个元素的数组:
Dim names(2)
括号内显示的数字是 2。数组的下标以 0 开始,因此该数组包含 3 个元素。这是容量固定的数组。您可以为数组的每个元素分配数据,如下所示:
names(0)="Tove"
names(1)="Jani"
names(2)="Stale"
同样地,通过使用特定数组元素的下标号,您可以取回任何元素的值。如下所示:
mother=names(0)
可以在一个数组中使用多达 60 个维数。声明多维数组的方法是在括号中用逗号来分隔数字。这里,我们声明了一个包含 5 行 7 列的 2 维数组:
Dim table(4,6)
常量是一个命名的内存位置,用于保存脚本执行期间固定(无法更改)的值。如果用户试图更改常量值,则脚本执行结束时会出现错误。常量声明与声明变量相同。
以下是命名常量的规则
- 常量名称必须使用一个字母作为第一个字符。
- 常量名称不能在名称中使用空格,句点(.),感叹号(!)或字符@,&,$,#。
- 常量名称的长度不能超过255个字符。
不能使用Visual Basic保留关键字作为常量名称。
语法
在VBA中,需要为声明的常量赋值。如果试图改变常量的值,就会抛出一个错误。VBA中常量的语法如下所示 -
Const <<constant_name>> As <<constant_type>> = <<constant_value>>
Private Sub ConstantDemo()
Const MyInteger As Integer = 720
Const myDate As Date = #10/21/2000#
Const myDay As String = "Sunday"
MsgBox ("整数值是:" & MyInteger & Chr(10) & "myDate的值是:" & myDate & Chr(10) & "myDay 的值是:" & myDay)
3.程序
VB可使用两种程序:
- 子程序
- 函数程序
子程序:
是一系列的语句,被封装在 Sub 和 End Sub 语句内
可执行某些操作,但不会返回值
可带有参数
Sub mysub()
some statements
End Sub
或者
Sub mysub(argument1,argument2)
some statements
End Sub
函数程序
是一系列的语句,被封装在 Function 和 End Function 语句内
可执行某些操作,并会返回值
可带有通过程序调用来向其传递的参数。
如果没有参数,必须带有空的圆括号 ()
通过向函数程序名赋值的方式,可使其返回值
Function myfunction()
some statements
myfunction=some value
End Function
或者
Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function
调用程序
这个简单的函数程序被调用来计算两个参数的和:
实例(仅适用于 IE)
Function myfunction(a,b)
myfunction=a+b
End Function
document.write(myfunction(5,9))
函数 "myfunction" 将返回参数 "a" 和参数 "b" 的和。这里返回的是 14。
当您调用程序时,您可以使用 Call 语句,如下所示:
Call MyProc(argument)
或者,您可以省略 Call 语句,如下所示:
MyProc argument
4.语句
4.1条件语句
条件语句用于根据不同的情况执行不同的操作。
在 VB 中,我们可以使用四种条件语句:
- If stat语句ement - 假如您希望在条件为 true 时执行一系列的代码,可以使用这个语句
- If…Then…Else 语句 - 假如您希望执行两套代码其中之一,可以使用这个语句
- If…Then…ElseIf 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
- Select Case 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
If...Then...Else
在下面的情况中,您可以使用 If...Then...Else 语句:
在条件为 true 时,执行某段代码
选择两段代码之一来执行
如果在条件为 true 时只执行一条语句,可以把代码写为一行:
If i=10 Then alert("Hello")
在上面的代码中,没有 ..Else.. 语句。我们仅仅让代码在条件为 true 时(当 i=10 时)执行一项操作。
如果在条件为 true 时执行不止一条语句,那么就必须在一行写一条语句,然后使用关键词 "End If" 来结束这个语句:
If i=10 Then
alert("Hello")
i = i+1
End If
在上面的代码中,同样没有 ..Else.. 语句。我们仅仅让代码在条件为 true 时执行了多项操作。
假如您想要在条件为 true 时执行某条语句,并在条件不为 true 时执行另一条语句,就必须添加关键词 "Else":
实例(仅适用于 IE)
<script type="text/vbscript">
i=hour(time)
If i < 10 Then
document.write("Good morning!")
Else
document.write("Have a nice day!")
End If
</script>
If...Then...ElseIf
如果您想要选择多套代码之一来执行,可以使用 If...Then...ElseIf 语句:
实例(仅适用于 IE)
<script type="text/vbscript">
i=hour(time)
If i = 10 Then
document.write("Just started...!")
ElseIf i = 11 Then
document.write("Hungry!")
ElseIf i = 12 Then
document.write("Ah, lunch-time!")
ElseIf i = 16 Then
document.write("Time to go home!")
Else
document.write("Unknown")
End If
</script>
Select Case
如果您想要选择多套代码之一来执行,可以使用 "Select Case" 语句:
实例(仅适用于 IE)
<script type="text/vbscript">
d=weekday(date)
Select Case d
Case 1
document.write("Sleepy Sunday")
Case 2
document.write("Monday again!")
Case 3
document.write("Just Tuesday!")
Case 4
document.write("Wednesday!")
Case 5
document.write("Thursday...")
Case 6
document.write("Finally Friday!")
Case else
document.write("Super Saturday!!!!")
End Select
</script>
4.2循环语句
循环语句
循环语句用于运行相同的代码块指定的次数。Looping statements are used to run the same block of code a specified number of times.
在 VB 中,我们可以使用四种循环语句:
- For…Next 语句 - 运行一段代码指定的次数
- For Each…Next 语句 - 针对集合中的每个项目或者数组中的每个元素来运行某段代码
- Do…Loop 语句 - 运行循环,当条件为 true 或者直到条件为 true 时
- While…Wend 语句 - 不要使用这个语句 - 请使用 Do…Loop 语句代替它
For...Next 循环
请使用 For...Next 语句运行一段代码指定的次数。
For 语句规定计数变量(i)以及它的初始值和结束值。Next 语句会以 1 作为步进值来递增变量(i)。
实例
<html>
<body>
<script type="text/vbscript">
For i = 0 To 5
document.write("The number is " & i & "<br />")
Next
</script>
</body>
</html>
Step 关键词
通过 Step 关键词,您可以规定计数变量递增或递减的步进值。
在下面的实例中,计数变量(i)每次循环的递增步进值为 2。
For i=2 To 10 Step 2
some code
Next
如果要递减计数变量,您就必须使用负的 Step 值。并且必须规定小于开始值的结束值。
在下面的实例中,计数变量(i)每次循环的递减步进值为 2。
For i=10 To 2 Step -2
some code
Next
退出 For...Next
您可以通过 Exit For 关键词退出 For...Next 语句。
For i=1 To 10
If i=5 Then Exit For
some code
Next
For Each...Next 循环
For Each...Next 针对集合中的每个项目或者数组中的每个元素来重复运行某段代码。
实例
<html>
<body>
<script type="text/vbscript">
Dim cars(2)
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"
For Each x In cars
document.write(x & "<br />")
Next
</script>
</body>
</html>
Do...Loop
如果你不知道重复多少次,可以使用 Do...Loop 语句。
Do...Loop 语句重复执行某段代码直到条件是 true 或条件变成 true。
重复执行代码直到条件是 true
您可以使用 While 关键字来检查 Do... Loop 语句的条件。
Do While i>10
some code
Loop
如果 i 等于 9,上述循环内的代码将终止执行。
Do
some code
Loop While i>10
这个循环内的代码将被执行至少一次,即使 i 小于 10。
重复执行代码直到条件变成 true
您可以使用 Until 关键字来检查 Do...Loop 语句的条件。
Do Until i=10
some code
Loop
如果 i 等于 10,上述循环内的代码将终止执行。
Do
some code
Loop Until i=10
这个循环内的代码将被执行至少一次,即使 i 等于 10。
退出 Do...Loop
您可以通过 Exit Do 关键词退出 Do...Loop 语句。
Do Until i=10
i=i-1
If i<10 Then Exit Do
Loop
这个循环内的代码,只要 i 不为 10 且 i 大于 10 时都将被执行。
5.日期和时间函数
https://www.runoob.com/vbscript/vbscript-ref-functions.html
6.关键字
https://www.runoob.com/vbscript/vbscript-ref-keywords.html
https://www.cnblogs.com/sunyllove/category/1525938.html