在编程的过程当中,有时候咱们会使用一些固定的值,例如圆周率,或者某我的的生日,或者家庭住址等等,html
这些信息对于一个对象来讲一旦肯定就不会改变,所以咱们在编程的时候也不但愿这些信息会改变,在VBS里面
编程
也提供了和其余一些语言中同样的机制: 常量。数组
常量大致有两种类型: 字面值常量 和 具名常量。编程语言
1、常量oop
Option Explicit ' vbs 常量 'vbs有两种类型的常量: 字面值常量 和 具名常量 '字面值常量 '字面值常量, 就如字面意思同样,其值就和字面意思表达的同样 Dim strAddress '下面语句的 中华人民共和国上海市 就是字面值常量 strAddress = "中华人民共和国上海市" Dim nYear '下面语句的 2000 就是字面值常量 nYear = 2000 '具名常量 '一、具名常量,其实质就是其值不能修改的变量, 这个变量一旦初始化后 ' 其存储的内容不能被改变, '二、具名常量经过关键字 const 指定 Const Pi = 3.1415926 '具名常量初始化后不能在赋值 Pi= 10 MsgBox Pi
如上代码,具名常量初始化后不能再进行赋值,若是赋值的话就会报错。以下图所示:spa
这个地方须要注意。code
Option Explicit ' vbs 常量 'vbs有两种类型的常量: 字面值常量 和 具名常量 '字面值常量 '字面值常量, 就如字面意思同样,其值就和字面意思表达的同样 Dim strAddress '下面语句的 中华人民共和国上海市 就是字面值常量 strAddress = "中华人民共和国上海市" Dim nYear '下面语句的 2000 就是字面值常量 nYear = 2000 '具名常量 '一、具名常量,其实质就是其值不能修改的变量, 这个变量一旦初始化后 ' 其存储的内容不能被改变, '二、具名常量经过关键字 const 指定 Const Pi = 3.1415926 '具名常量初始化后不能在赋值 'Pi= 10 MsgBox Pi 'vbs的内置具名常量 '在vbs中内置了部分具名常量,这些常量方便使用vbs '典型的具名常量就是 msgbox的具名常量,经过不一样的具名常量显示不一样的按钮形式 '一、仅显示OK、肯定按钮 MsgBox Pi,vbOKOnly '二、显示yes、no按钮 MsgBox Pi,vbYesNo '三、显示 i 图标 MsgBox Pi,vbYesNo + vbInformation '对于vbs内置的具名常量,建议能够查手册,这里再说几个经常使用的,其余很少说 ' vbNewLine 这个是表示再起一行的意思 ' vbcrlf 这个与上面的vbnewline是一个意思 MsgBox Pi & vbNewLine & "新行" & vbCrLf & "新的第二行"
2、流程控制orm
流程控制是编程语言最终要的概念之一,须要注意。 htm
Option Explicit Rem 流程控制 '流程控制是编程语言中重要的概念,经过流程控制能够实现复杂的功能控制 '流程控制主要有: 分支、循环两种 ' 分支 '一、分支主要有IF语句 '二、select case 语句 'if语句 Dim strPrompt Dim nSelect strPrompt = vbCrLf & "1: 选择Yes说哈哈" & vbCrLf & _ "2: 选择No说嘻嘻" & vbCrLf & "3: 选择取消,不说话" nSelect = MsgBox("请选择不一样的按钮,而后实现不一样的功能" & strPrompt, vbYesNoCancel) If nSelect = vbyes Then MsgBox "选择Yes说哈哈" ElseIf nSelect = vbno Then MsgBox "选择No说嘻嘻" Else MsgBox "选择取消,不说话" End If '这个地方须要注意select case语句的执行与其余语言的不一致的地方 Select Case nSelect Case vbyes MsgBox "选择Yes哈哈" Case vbno MsgBox "选择No说嘻嘻" Case vbcancel MsgBox "选择取消,不说话" Case Else MsgBox "不正确的选择" End Select '循环 '循环共有四种形式 '一、 for..... next '二、 do....loop、 '三、 while....wend 'for 循环 'for 循环有两种形式 '一、for...next '二、for each .....next 'for...next 'for....next循环主要用于循环次数明确的循环应用,例如打印斐波那契数列 '的前多少项 Dim nStart Dim nSecond Dim nLoop Dim strMsg Dim nTemp '斐波那契数列的开始两项 nStart = 1 nSecond = 1 strMsg = nStart & vbNewLine & nSecond '计算斐波那契数列的第3-30项 For nLoop = 2 To 30 nTemp = nSecond nSecond = nSecond + nStart nStart = nTemp strMsg = strMsg & vbNewLine & nSecond Next MsgBox strMsg 'for each.....next循环 'for each....next循环是用来遍历集合中全部元素的一种特定的循环结构 '经过这个循环来实现对循环次数不肯定的状况进行遍历 '使用for each....next循环须要使用关键字in, in表示在集合中访问元素 '一样须要使用一个循环控制变量,在循环中这个循环变量表明的就是集合中的元素 '可是这个变量在使用完毕以后,循环变量就 objLoop = empty '若是要再使用必须从新赋值 Dim objFSO Dim objFolder Dim objLoop Dim strFileName Set objFso=CreateObject("Scripting.FileSystemObject") Set objFolder= objFSO.GetFolder("D:\01_vbs") For Each objLoop In objFolder.Files strFileName =strFileName & objLoop.Name & vbCrLf 'MsgBox "我是循环变量,个人值为:" & objLoop Next MsgBox strFileName '下面的语句检测objLoop变量在循环结束后的值 If IsEmpty(objLoop) Then MsgBox "已经设置为empty" ElseIf IsNull(objLoop) then MsgBox "已经设置为空" Else MsgBox "未知结果" End If 'for each....next 循环还能够用来遍历数组 '注意新的脚本解释器对于数组维数的定义,这里5表示下标最大为5,可是开始 '是从0,因此有6个元素 Dim nArrayName(5) nArrayName(0) = 1 nArrayName(1) = 2 nArrayName(2) = 3 nArrayName(3) = 4 nArrayName(4) = 5 nArrayName(5) = 6 For Each nLoop In nArrayName MsgBox nLoop Next MsgBox "遍历后,nLoop的值为:" & nLoop
在使用For Each...next 语句的时候,要注意循环变量的值,在循环结束后已经自动的被设置对象
为Empty,若是这个时候访问的话必须再次赋值,不然就会出错,以下图所示:
循环变量在循环结束后被设置为 Empty。
3、Tips
一、分支结构不要嵌套太深
二、循环结构知道次数的一半用For语句
三、数组、集合遍历可使用For each...next语句。
--------------------------------------------------------------分割线---------------------------------------------------------------
一、文章均为我的原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
二、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
三、若是您以为文章对您有帮助可转至页面上半部分打赏,或移步:打赏
四、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线---------------------------------------------------------------