HÀM LẬP SẴN CỦA VBA
Người sọan: Msc.Lê Minh Trung
Khoa Tóan - Tin ĐHSP
Tp Hồ Chí Minh
CÁC HÀM LẬP SẴN CỦA VB
Các hàm chuỗi
Các hàm liên quan tới số
Các hàm liên quan tới ngày/tháng
Vài điều nói trước…
VB 6.0 có một “thư viện” các hàm được lập
truớc (built-in function) rất hữu ích.
Để sử dụng các hàm lập trước của VB 6.0
cần:
Gọi hàm và cung cấp các giá trị cho các tham số
truyền đối số cho các tham số.
Sử dụng giá trị trả về của hàm (cho vp phép
gán).
•Tip:
Hàm luôn trả về một giá trị
Ví dụ…
Hàm Len có cú pháp:
Len(Chuỗi)
Tham số Chuỗi “tượng trưng” một chuỗi tổng quát
Trả về chiều dài (số kí tự) của Chuỗi.
Dim Dai As Integer, ThongBao As String
ThongBao = “Thong bao hom nay khong co gi de
thong báo”
Dai = Len(ThongBao)
Gọi hàm bằng cách truyền đối số
cho các tham số
Dài
41
Hàm Space…
Cú pháp:
Space(n)
Trả về một chuỗi gồm n khỏang trắng.
Space(n,Chuỗi)
Trả về một chuỗi gồm n kí tự là kí tự đầu của Chuỗi.
Msg = Space(4)
Msg = Space(4,”a”)
Msg = Space(4,”acd”)
Msg = “□□□□“
Msg = “aaaa“
•
Tip:
•Space(…) trả về Variant
•Space$(…) trả về một chuỗi
Gỡ bỏ khỏang trắng ra khỏi một chuỗi
với LTrim,Rtrim,Trim…
Gỡ bỏ các khỏang trắng bên trái chuỗi
LTrim(Chuỗi)
Gỡ bỏ các khỏang trắng bên phải chuỗi
RTrim(Chuỗi)
Gỡ bỏ khỏang trắng hai đầu chuỗi.
Trim(Chuỗi)
Msg = “□□□Hello World□□□□”
LTrim(Msg)
RTrim(Msg)
Trim(Msg)
“Hello World□□□□”
“□□□Hello World”
“Hello World”
Tìm chiều dài của chuỗi…
Cú pháp:
Len(Chuỗi)
Có thể dùng với vòng lặp For – Next để
duyệt qua tất cả các kí tự của Chuỗi.
Dim I As Integer,Chuoi As String
For I=1 To Len(Chuoi)
…………………………………..
Next I
Các hàm cắt chuỗi…
Cắt bên trái một số kí tự:
Left(Chuỗi,n) :trả về chuỗi gồm n kí tự đầu
của chuỗi Chuỗi.
Cắt bên phải một số kí tự:
Right(Chuỗi,n) : trả về chuỗi n kí tự cuối của
chuỗi Chuỗi.
Cắt tại vị trí ,n kí tự:
Mid(Chuỗi,VịTrí,n) : trả lại chuỗi con của
Chũoi bắt đầu tại vị trí VịTrí gồm n kí tự.
Ví dụ…
Dim Msg As String
Msg= “VB that tuyet voi!”
Left$(Msg,7)
Right$(Msg,4)
Mid$(Msg,4,10)
Mid$(Msg,4,100)
123456789012345678
“VB that”
“voi!”
“that tuyet”
“that tuyet voi!”
Mid được dùng như một điều lệnh…
Có thể dùng Mid(…) như một lệnh để thay
đổi nội dung của một chuỗi.
Giả sử: Msg =“Pascal la so 1”
Mid$(Msg,1,6)=“VBasic”
Msg = “VBasic la so 1”
Mid$(Msg,1,6)=“VBasic cua Microsoft”
Msg = “VBasic la so 1”
Mid$(Msg,1,6)=“VB”
Msg = “VBscal la so 1”
•
Tip:
Mid không bao giờ thay đổi chiều dài của chuỗi
Ví dụ…
Dim Chuoi As String
Dim I As Integer, SoCham As Integer
For I=1 To Len(Chuoi)
If Mid(Chuoi,I,1)=“.” Then
SoCham = SoCham +1
End If
Next I
“ ASDas.nm…acv. “
Chuoi
SoCham
5
Ví dụ…
Dim KiTu As String*1,Chuoi As String
Dim I As Integer
For I=1 To Len(Chuoi)
KiTu = Mid(Chuoi,I,1)
If (Asc(KiTu)>=Asc(“a”)) And (Asc(KiTu)<=Asc(“z”)) Then
KiTu = Chr$(Asc(KiTu) – 32)
Mid$(Chuoi,I,1)=KiTu
End If
Next I
Đổi tòan bộ chữ thường của
Chuỗi sang chữ hoa.
KíTu la chữ
Thường
Đổi KiTu thanh
Chu hoa tuong
ung
Hàm so sánh hai chuỗi…
Select Case StrComp(first, second, vbTextCompare)
Case 0 ' first = second
(e.g. "VISUAL BASIC" vs. "Visual Basic")
Case -1 ' first < second
(e.g. "C++" vs. "Visual Basic")
Case 1 ' first > second
(e.g. "Visual Basic" vs. "Delphi")
End Select
Hàm đổi chữ hoa, chữ thường…
Text = "New York, USA“
Print UCase$(Text) ' "NEW YORK, USA"
Print LCase$(Text) ' "new york, usa"
Hàm đổi chữ hoa, chữ thường…
Text = "New York, USA“
Print StrConv(Text, vbUpperCase)
' "NEW YORK, USA"
Print StrConv(Text, vbLowerCase)
' "new york, usa"
Print StrConv(Text, vbProperCase)
' "New York, Usa"
Hàm tìm kiếm một chuỗi trong chuỗi
khác…
InStr([NơiBắtĐầu,]ChuỗiCha,ChuỗiCon)
Tham số NơiBắtĐầu là tùy chọn
Nếu không có bắt đầu tìm kiếm từ đầu ChuỗiCha.
Trả về vị trí tìm thấy đầu tiên của ChuỗiCon trong
ChuỗiCha
Trả về 0 nếu không tìm thấy.
InStr(2,”Lemontree”,”on”) 4