在編程的過程當中,有時候咱們會使用一些固定的值,例如圓周率,或者某我的的生日,或者家庭住址等等,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、嵌入式資料點擊:獲取資料
三、若是您以爲文章對您有幫助可轉至頁面上半部分打賞,或移步:打賞
四、或者在頁面右下角點推薦喲!!!
--------------------------------------------------------------分割線---------------------------------------------------------------