Hàm lập sẵn của VBA

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).

 

ppt42 trang | Chia sẻ: Mr Hưng | Lượt xem: 1008 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Hàm lập sẵn của VBA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HÀM LẬP SẴN CỦA VBANgười sọan: Msc.Lê Minh TrungKhoa Tóan - Tin ĐHSPTp Hồ Chí Minh CÁC HÀM LẬP SẴN CỦA VBCác hàm chuỗiCá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ướcVB 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átTrả về chiều dài (số kí tự) của Chuỗi. Dim Dai As Integer, ThongBao As StringThongBao = “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ài41Hàm SpaceCú 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ề VariantSpace$() trả về một chuỗi Gỡ bỏ khỏang trắng ra khỏi một chuỗi với LTrim,Rtrim,TrimGỡ bỏ các khỏang trắng bên trái chuỗiLTrim(Chuỗi) Gỡ bỏ các khỏang trắng bên phải chuỗiRTrim(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ỗiCú 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ỗiCắ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 StringMsg= “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ỗiVí 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.nmacv. “Chuoi SoCham5Ví 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) 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ườngText = "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ácInStr([NơiBắtĐầu,]ChuỗiCha,ChuỗiCon)Tham số NơiBắtĐầu là tùy chọnNế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ỗiChaTrả về 0 nếu không tìm thấy.InStr(2,”Lemontree”,”on”)  4Ví dụPrint InStr("abcde ABCDE", "ABC") ' 7(phân biệt hoa thường) Print InStr(8, "abcde ABCDE", "ABC") ' 0 (bắt đầu tìm từ 8) Print InStr(1, "abcde ABCDE", "ABC", vbTextCompare) ' 1(không phân biệt hoa thường) Hàm InStrRevInStrRev(ChuỗiCha,ChuỗiCon[,nơibđ])Là hàm mới của VB.Giống như hàm InStr nhưng bắt đầu tìm kiếm từ cuối chuỗi.Hữu dụng trong một số tình huốngDim ĐDan As String,TenFile As String Dim ViTri As Integer ĐDan =“C:\ ABC\MNP\BaiTap\vb.doc” ViTri = InStrRev(ĐDan,”\”) TenFile = Mid$(Path,ViTri +1) Hàm thay thế ReplaceReplace(Chuỗi,ChuỗiCon,ChuỗiThayThế[,BắtĐầu[,SốLần]])Tìm kiếm ChuỗiCon trong Chuỗi và thay thế bởi ChuỗiThayThế.Dim Msg As String Msg = “Pascal that tuyet voi!” Msg =Replace(Msg,”Pascal”,”VB6.0”) “VB6.0 that tuyet voi!”MsgCÁC HÀM LẬP SẴN LIÊN QUAN TỚI SỐHàm phát sinh số ngẫu nhiên RndRnd trả về một số ngẫu nhiên nằm trong khỏang [0;1).Để gieo giống lại bộ phát sinh ngẫu số ta dùng hàm RandomizeHàm Int,Fix,RoundInt(SoThuc): cho phần nguyên của sốInt(3.4523) ‘=3Int(-3.4523) ‘=-4Fix(SoThuc): loai bỏ phần thập phân ra khỏi SoThuc Fix(3.567) ‘=3 Fix(-3.452) ‘=-3Round(SoThuc[,SoChuSoTPhân])Round(3.786,2) ‘=3.79 Các hàm khácHàm Sgn(x): hàm dấu trả về 1 nếu x>0 , -1 nếu x DateSerial(2000,3,1) Then ‘nam nhuận Else ‘năm không nhuận End If Hàm WeekDay () xác định thứ của một ngàyWeekDay(ngày)WeekDay(ngày[,ThứBắtĐầuTuần]) Print Weekday("8/14/98") ' 6 -> thứ sáu Print Weekday("8/14/98“,vbMonday) ‘ 5 -> thứ sáuHàm DateAdd Trả lại ngày mới khi thêm một khỏang thời gian vào ngày đang xét.Cú pháp:NewDate=DataAdd(Interval,number,date)Thiết lậpMô tả“yyyy”Năm“q”Quí“m”Tháng“y”Ngày của năm (tương tự d)“d”Ngày“w”Tuần“ww”Tuần“h”Giờ“n”Phút“s”GiâyHàm DateDiffĐể tính số tháng, năm,quí ,giờ khác biệt giữa hai khỏang thời gian , ta dùng DateDiff.Result = DateDiff(interval, startdate, enddate)Ví dụ Now = ‘8/14/1998 Print DateAdd("m", 3, Now) "11/14/98 8:35:48 P.M." Print DateAdd("yyyy", -1, Now) "8/14/97 8:35:48 P.M." ‘ Print DateDiff("m", #1/30/1998#, Now) 7 Print DateDiff("y", #1/30/1998#, Now) 196 Print DateDiff("w", #1/30/1998#, Now) 28 Print DateDiff("ww", #1/1/2000#, Now) -7 Hàm FormatDạngHiển thịFormat(Now,”m/d-yy”)3/13-06Format(Now,”hh:mm”)08:15Format(Now,”hh:mm AM/PM”)08:15 AMFormat(Now,”hh:mm mm/dd/yy”)08:15 03/13/06Một số hàm khácLCase(Chuỗi)Đổi sang chữ thườngUCase(Chuỗi)Đổi sang chữ hoaStrComp(Chuoi1, Chuoi2)Tùy chọn: vbTextCompare vbBinaryCompareSo sánh hai chuỗi-1 nếu Chuoi1Chuoi2IsDate(obj)obj có định dạng ngày không? IsNumeric(obj)obj có định dạng số không?SinCosTanArctanHexĐổi sang hệ cơ số 16Một số hàm khácDateAddCho phép cộng một quãng vào ngày DateDiffCho phép trừ một quãng ra một ngàyDayCho biết ngày trong một ngày lịchMonthCho biết tháng trong một ngày lịchYearCho biết năm trong một ngày lịchHourCho biết giờ trong một tkhắc MinuteCho biết phút trong một tkhắc SecondCho biết giây trong một tkhắc .WeekdayBáo cho biết ngày trong tuần của ngày lịchỨng dụng xúc sắccmbChoncmdGieolblTBimgXNXáo trộn chuỗitxtBDtxtXTcmdXaoĐiều khiển TimerTimerKhông hiển thị lúc chạy chương trìnhDùng trong những chương trình cần định kí làm một việc gì đó.Thuộc tính: Enabled: True ->sau một khỏang thời gian sẽ kích họat sự kiện timeTên_Timer False -> không kích họat sự kiện trên Interval: khỏang thời gian kích họat sự kiện timeTên_Timer đơn vị msSự kiện: timeTên_Timer()

Các file đính kèm theo tài liệu này:

  • ppt0_vba_hamlapsan_8136.ppt
Tài liệu liên quan