VBS基础知识
[quote][url]http://www.51testing.com/?uid-449088-action-viewspace-itemid-810156[/url][/quote]
一、VBS介紹
VB6.0分為VBS(腳本)和VBA(宏)
代碼強度:VB6.0 > VBS > VBA
編程工具:PrimalScript. Enterprise
二、基本操作
Dim 定義變量
VB只有一種數據類型,但有多個子類型,變量在賦值時才會確定子類型
If語句
If...Then...Else...End If
If...Then...ElseIf...Then...Else...End If
Select Case語句
Select Case
Case
Case Else
End Select
循環語句
Do While 條件...Loop 條件為True時循環,語句執行次數>=0
Do...Loop While 條件 條件為True時循環,語句執行次數>=1
Do Until 條件...Loop 條件為False時循環,語句執行次數>=0
Do...Loop Until 條件 條件為False時循環,語句執行次數>=1
While...Wend
For i=0 To 10 (Step 2/-2)...Next Step意為i每次遞增2或遞減2
For Each...in...Next 用于處理集合
數組下標從0開始,字符串從1開始
& 字符串連接符
三、常用函數
InputBox 輸入
MsgBox 輸出
Wscript.Echo 輸出到Output面板
IsNumeric 判斷是否整型
CStr 變量轉成字符串型
CDble 變量轉成雙精度型
Split(str, ",") 把字符串按照分隔符進行分割,返回字符串數組
Mid(str,n,m) 返回字符串第n個位置的m個字符
UBound(arr) 返回數組長度
Len(str) 返回字符串長度
Join(arr,",") 返回用,連接數組元素的字符串
Rnd 返回0-1的隨機數,與Randomize配合使用
Eval 計算一個表達式的值并返回結果
Round(str,n) 四舍五入保留小數點后n位
VarType 檢查變量類型
四、數組
定義數組
1)Dim var(10)
2)Dim var
Redim var(10)
五、函數和過程
函數
Function 函數名()
End Function
過程
Sub 過程名()
End Sub
Function和Sub的區別:
Function執行后調用函數名可獲得返回值,而Sub沒有返回值
調用過程可用兩種方式,當用第2種時應省略括號
1)Call 函數(參數1,參數2...)
2)函數 參數1,參數2...
六、傳值ByVal和傳地址ByRef
Dim a,b
a=1
b=2
SetValue a,b
WScript.Echo a&","&b
Sub setValue(ByVal c, ByRef d)
c=4
d=5
End Sub
輸出結果:1,5
使用傳址引用可修改變量的值,而傳值引用不會修改變量的值
默認參數不加ByVal,則默認為ByRef
七、操作文件
定義句柄
Dim Var
Set Var=CreateObject()
1.1)讀txt文件
Dim fso,file,str
Set fso=CreateObject("Scripting.FileSystemObject")
Set file=fso.OpenTextFile("E:\class\readtxt.txt")
Do Until file.AtEndOfStream
str=file.ReadLine
Loop
Set file=Nothing
Set fso=Nothing
1.2)寫txt文件
Set file=fso.CreateTextFile("E:\class\writetxt.txt")
file.WriteLine "Hello!"
2.1)讀excel文件
Dim xlsApp,wkBook,wkSheet,content
Set xlsApp=CreateObject("Excel.Application")
Set wkBook=xlsApp.Workbooks.Open("E:\class\readexcel.xlsx")
Set wkSheet=wkBook.Worksheets("Sheet1")
For i=1 To rowCount
content=wkSheet.cells(i,1)
Next
wkBook.Close
xlsApp.Quit
Set wkSheet=Nothing
Set wkBook=Nothing
Set xlsApp=Nothing
2.2)寫excel文件
wkSheet.cells(i,5)=content
wkBook.Save
3.1)讀DB
新建擴展名為.udl的文件,雙擊打開數據屬性窗口設置OLE驅動和數據源
用記事本打開.udl文件,復制Provider這句話,作為strCnn
Dim Cnn,Rst,strCnn
Set Cnn=CreateObject("ADODB.Connection")
Set Rst=CreateObject("ADODB.Recordset")
strCnn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\class\calc.mdb;Persist Security Info=False"
Cnn.Open strCnn
Rst.Open "Select * from calc",Cnn
Rst.MoveFirst
Do While Not Rst.EOF
MsgBox Trim(Rst.Fields("TestNumber1"))
Rst.MoveNext
Loop
Rst.Close
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
3.2)寫DB
Set rstupdate=CreateObject("ADODB.Recordset")
rstupdate.open "update calc set decis='"&flag&"'", conn
rstupdate.Close
Set rstupdate=Nothing
4.1)讀xml
Dim xmlDoc,xmlRoot,xmlChildItem,msg
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.load "E:\class\calc.xml"
Set xmlRoot=xmlDoc.documentElement
Set xmlChildItem=xmlRoot.firstChild
For Each xmlChildItem In xmlRoot.childNodes
Next
Set xmlChildItem=Nothing
Set xmlRoot=Nothing
Set xmlDoc=Nothing
一、VBS介紹
VB6.0分為VBS(腳本)和VBA(宏)
代碼強度:VB6.0 > VBS > VBA
編程工具:PrimalScript. Enterprise
二、基本操作
Dim 定義變量
VB只有一種數據類型,但有多個子類型,變量在賦值時才會確定子類型
If語句
If...Then...Else...End If
If...Then...ElseIf...Then...Else...End If
Select Case語句
Select Case
Case
Case Else
End Select
循環語句
Do While 條件...Loop 條件為True時循環,語句執行次數>=0
Do...Loop While 條件 條件為True時循環,語句執行次數>=1
Do Until 條件...Loop 條件為False時循環,語句執行次數>=0
Do...Loop Until 條件 條件為False時循環,語句執行次數>=1
While...Wend
For i=0 To 10 (Step 2/-2)...Next Step意為i每次遞增2或遞減2
For Each...in...Next 用于處理集合
數組下標從0開始,字符串從1開始
& 字符串連接符
三、常用函數
InputBox 輸入
MsgBox 輸出
Wscript.Echo 輸出到Output面板
IsNumeric 判斷是否整型
CStr 變量轉成字符串型
CDble 變量轉成雙精度型
Split(str, ",") 把字符串按照分隔符進行分割,返回字符串數組
Mid(str,n,m) 返回字符串第n個位置的m個字符
UBound(arr) 返回數組長度
Len(str) 返回字符串長度
Join(arr,",") 返回用,連接數組元素的字符串
Rnd 返回0-1的隨機數,與Randomize配合使用
Eval 計算一個表達式的值并返回結果
Round(str,n) 四舍五入保留小數點后n位
VarType 檢查變量類型
四、數組
定義數組
1)Dim var(10)
2)Dim var
Redim var(10)
五、函數和過程
函數
Function 函數名()
End Function
過程
Sub 過程名()
End Sub
Function和Sub的區別:
Function執行后調用函數名可獲得返回值,而Sub沒有返回值
調用過程可用兩種方式,當用第2種時應省略括號
1)Call 函數(參數1,參數2...)
2)函數 參數1,參數2...
六、傳值ByVal和傳地址ByRef
Dim a,b
a=1
b=2
SetValue a,b
WScript.Echo a&","&b
Sub setValue(ByVal c, ByRef d)
c=4
d=5
End Sub
輸出結果:1,5
使用傳址引用可修改變量的值,而傳值引用不會修改變量的值
默認參數不加ByVal,則默認為ByRef
七、操作文件
定義句柄
Dim Var
Set Var=CreateObject()
1.1)讀txt文件
Dim fso,file,str
Set fso=CreateObject("Scripting.FileSystemObject")
Set file=fso.OpenTextFile("E:\class\readtxt.txt")
Do Until file.AtEndOfStream
str=file.ReadLine
Loop
Set file=Nothing
Set fso=Nothing
1.2)寫txt文件
Set file=fso.CreateTextFile("E:\class\writetxt.txt")
file.WriteLine "Hello!"
2.1)讀excel文件
Dim xlsApp,wkBook,wkSheet,content
Set xlsApp=CreateObject("Excel.Application")
Set wkBook=xlsApp.Workbooks.Open("E:\class\readexcel.xlsx")
Set wkSheet=wkBook.Worksheets("Sheet1")
For i=1 To rowCount
content=wkSheet.cells(i,1)
Next
wkBook.Close
xlsApp.Quit
Set wkSheet=Nothing
Set wkBook=Nothing
Set xlsApp=Nothing
2.2)寫excel文件
wkSheet.cells(i,5)=content
wkBook.Save
3.1)讀DB
新建擴展名為.udl的文件,雙擊打開數據屬性窗口設置OLE驅動和數據源
用記事本打開.udl文件,復制Provider這句話,作為strCnn
Dim Cnn,Rst,strCnn
Set Cnn=CreateObject("ADODB.Connection")
Set Rst=CreateObject("ADODB.Recordset")
strCnn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\class\calc.mdb;Persist Security Info=False"
Cnn.Open strCnn
Rst.Open "Select * from calc",Cnn
Rst.MoveFirst
Do While Not Rst.EOF
MsgBox Trim(Rst.Fields("TestNumber1"))
Rst.MoveNext
Loop
Rst.Close
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
3.2)寫DB
Set rstupdate=CreateObject("ADODB.Recordset")
rstupdate.open "update calc set decis='"&flag&"'", conn
rstupdate.Close
Set rstupdate=Nothing
4.1)讀xml
Dim xmlDoc,xmlRoot,xmlChildItem,msg
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.load "E:\class\calc.xml"
Set xmlRoot=xmlDoc.documentElement
Set xmlChildItem=xmlRoot.firstChild
For Each xmlChildItem In xmlRoot.childNodes
Next
Set xmlChildItem=Nothing
Set xmlRoot=Nothing
Set xmlDoc=Nothing
總結
- 上一篇: QTP高手
- 下一篇: UltraEdit中OracleSQL的