Giáo trình t động hoá
thiết kế cu đường VBA
Li nói đầu
Tựđộnghóatrongttcảlĩnhvchinđangđượchiquantâmđặcbitbinhờ
năngsutlaođngđưcnângcao,chtlượngsnphmổnđnhtthơn,nhiuý
tưởngmicơhitrởthànhhinthc.Tựđộnghóacôngtácthiếtkếcôngtrìnhgiao
thôngcũngkhôngnmngoàiquylutchungđó,hinnay,huhếtcáccôngtytrong
lĩnhvctưvnthiếtkếcôngtrìnhgiaothôngđềurtchútrngthchintựđộnghóa
côngtácthiếtkếtrongcôngtycamình.Điunàyđưcthểhinnéttrongvicđu
tưcacáccôngty(muasmmáytính,phnmmđàotonhânlc)cũngnhưtrin
khaitựđộnghóathiếtkếrtnhiucôngtrìnhtrongthctế.
Visựđadngcamình,cácbàitoántrongcôngtácthiếtkếluônđòihisựlinhhot
cacôngtáctựđộnghóa.Chínhvy,đphnnàođápứngđưcyêucucpbách
từthctếsnxut,nidungcungiáotrìnhnàyđcpđếnttcảcácvnđcơbn
nhtcavicthchintựđộnghóathiếtkếcôngtrìnhgiaothôngcũngnhưphương
phápđểnângcaomcđộtựđộnghóachophùhpvitngyêucuchuyênbitxut
hintrongquátrìnhthiếtkế.
NidungcagiáotrìnhnàysựđúckếtkinhnghimgingdymônTựđộnghóa
thiếtkếcuđưngchosinhviênngànhxâydngcôngtrìnhgiaothôngquátrình
thamgiathchintựđộnghóacôngtácthiếtkếngoàisnxutcacáctácgiảcũng
nhưcpnhtminhtnhngcôngnghệchủchtphcvụchovictựđộnghóa.Hơn
na,nidungchínhtptrungvàonhngthànhphnctlõiphcvụchomcđíchtự
độnghóathiếtkếcuđưng,cùngvinhngnidungmangtínhgimởđnh
hướngchotngchuyênngành,khiếnchocungiáotrìnhnàyhoàntoànphùhpvi
địnhhướngđàototheotínchỉcaNhàtrường.
Chúngtôixinchânthànhcmơnsựđónggópýkiếncacácđngnghiptrongquá
trìnhhoànthincungiáotrìnhnày.
Vitcđpháttrinrtnhanhcacôngnghệnhưhinnaythìchcchnrngtrong
thigianti,nhiuvnđliênquanđếnvicthchintựđộnghóathiếtkếsẽphi
thayđi,chúngtôihyvngrng,cùngvicácýkiếnđónggópcabnđcsự
cpnhtkiếnthccabnthân,thìlnxutbnsaucacunsáchnàysẽhoànthin
hơnna,sẽđápứngtthơnnayêucucabnđọc.
Ni,ngày01tháng06năm2007
Cáctácgi.
i
PHN I: M ĐẦU .................................................................................. 1
1.Tngquanvềthiếtkếtựđộnghóathiếtkếcôngtrìnhgiaothông.............................. 1
2.Đôinétvềcácphnmmdùngchothiếtkếcôngtrìnhgiaothông.................................. 3
3.Lachnphnmmdùngchothiếtkếcôngtrìnhgiaothông.......................................... 4
4.Chuyênbithóaphnmm .................................................................................................... 6
5.Kếtchương ..............................................................................................................................11
PHN II: LP TRÌNH TRÊN NG DNG NN ...................................... 12
CHƯƠNG I: KHÁI NIM........................................................................................ 12
CHƯƠNG II: TNG QUAN V VBA ..................................................................... 19
1.ĐặcđimcaVBA.................................................................................................................. 19
2.TrìnhtựxâydngmtdựánbngVBA ............................................................................ 19
3.CutrúccamtdựánVBA................................................................................................ 20
4.MôitrườngpháttrintíchhpVBAIDE............................................................................ 21
5.dụđầutiênviVBA.......................................................................................................... 23
CHƯƠNG III: CƠ BN V NGÔN NG LP TRÌNH VISUAL BASIC ................. 25
1.Nhngquiđịnhvềpháp.................................................................................................. 25
2.Cáctrợgiúpvềpháptrongquátrìnhviếtlnh...................................................... 25
3.Tínhnăngginhớtựhoànthinlnh ..................................................................... 26
4.TừkhoátrongVB ................................................................................................................... 27
5.Cáckiudữliucơbn.......................................................................................................... 28
5.1. Kiu logic (boolean).......................................................................................................... 29
5.2. Kiu s nguyên.................................................................................................................. 29
5.3. Kiu s thc....................................................................................................................... 29
5.4. Kiu mng (array) ............................................................................................................. 29
5.5. Kiu chui (String)............................................................................................................ 31
5.6. Kiu thi gian (Date)......................................................................................................... 32
5.7. Kiu Variant ...................................................................................................................... 32
5.8. Kiu t định nghĩa (user-defined type).............................................................................. 33
5.9. Kiu lp (Class)................................................................................................................. 34
6.KhaibáobiếntrongVB.......................................................................................................... 35
6.1. Khai báo hng s............................................................................................................... 38
6.2. Khai báo biến..................................................................................................................... 38
6.3. Khai báo kiu t định nghĩa .............................................................................................. 38
6.4. Khai báo mng tĩnh ........................................................................................................... 39
6.5. Khai báo mng động.......................................................................................................... 39
6.6. Khai báo, to và làm vic vi biến đối tượng.................................................................... 40
7.Cáctoántửhàmthôngdng ........................................................................................... 40
7.1. Các toán t......................................................................................................................... 40
7.2. Các hàm toán hc .............................................................................................................. 41
7.3. Các hàm chuyn đổi d liu .............................................................................................. 41
7.4. Các hàm x lý chui.......................................................................................................... 43
8.Cáccutrúcđiukhin ......................................................................................................... 44
8.1. Cu trúc điu kin.............................................................................................................. 44
8.2. Cu trúc la chn .............................................................................................................. 46
8.3. Vòng lp xác định.............................................................................................................. 47
ii
8.3.1. Vòng lp theo biến đếm .............................................................................................47
8.3.2. Lp trong mt tp hp................................................................................................49
8.4. Vòng lp không xác định ...................................................................................................50
9.Chươngtrìnhcon ................................................................................................................... 51
9.1. Hàm (Function)..................................................................................................................52
9.2. Th tc (Sub) .....................................................................................................................52
9.3. Truyn tham s cho chương trình con................................................................................52
9.3.1. Truyn tham s theo tham chiếu................................................................................53
9.3.2. Truyn tham s theo tham tr.....................................................................................54
9.3.3. Tham s tu chn.......................................................................................................54
9.3.4. Danh sách tham s vi s lượng tham s tu ý..........................................................55
9.3.5. Hàm có giá tr tr v là kiu mng.............................................................................55
9.4. Biến trong chương trình con ..............................................................................................56
9.5. Cách thc gi chương trình con.........................................................................................58
9.6. Thoát khi chương trình con..............................................................................................59
10.Tổchccácchươngtrìnhcontheohệthngcác‐đunchun .................................. 59
11.LàmvicviUserFormcácthànhphnđiukhin .................................................. 60
11.1. Các vn đề chung .............................................................................................................60
11.1.1. To UserForm và các thành phn điu khin trong VBA IDE ................................63
11.1.2. Các thuc tính ca UserForm và các thành phn điu khin. ..................................64
11.1.3. Các phương thc ca UserForm và các thành phn điu khin...............................66
11.1.4. Các s kin trên giao din........................................................................................66
11.1.5. Ví d.........................................................................................................................67
11.2. Làm vic vi UserForm ...................................................................................................68
11.3. Các điu khin thông dng...............................................................................................69
12.Cáchpthoithôngdng................................................................................................... 76
12.1. Hp thông đip (Message Box – MsgBox)......................................................................76
12.2. Hp nhp d liu (Input Box – InputBox) .......................................................................77
12.3. Hp thoi da trên điu khin Common Dialog. .............................................................78
13.Lptrìnhxửtptin.......................................................................................................... 80
13.1. Các hình thc truy cp tp tin ..........................................................................................81
13.2. X lý d liu trong tp tin vi các hàm I/O: ....................................................................82
13.2.1. M tp tin:................................................................................................................82
13.2.2. Đọc d liu t tp tin: ..............................................................................................82
13.2.3. Ghi d liu vào tp tin: ............................................................................................84
13.2.4. Đóng tp tin..............................................................................................................86
13.3. X lý d liu trong tp tin theo mô hình FSO (File System Object) ...............................86
13.3.1. To tp tin mi.........................................................................................................88
13.3.2. M tp tin đã có để thao tác.....................................................................................89
14.GỡribylitrongVBAIDE ........................................................................................ 90
14.1. Phân loi li trong lp trình..............................................................................................90
14.2. G ri trong lp trình .......................................................................................................91
14.2.1. Phát hin li lúc thc thi ..........................................................................................91
14.2.2. Các phương pháp thc thi mã lnh ..........................................................................92
14.2.3. Ca s tr giúp g ri ..............................................................................................93
14.3. By li trong VBAIDE.....................................................................................................95
14.3.1. Câu lnh On Error....................................................................................................95
14.3.2. Đối tượng Err...........................................................................................................96
14.3.3. Hàm Error ................................................................................................................97
CHƯƠNG IV: LP TRÌNH TRÊN MICROSOFT EXCEL ....................................... 99
1.TngquanvềMicrosoftExcel .............................................................................................. 99
1.1. Kh năng ca Excel............................................................................................................99
1.2. Giao din ca Excel ...........................................................................................................99
1.3. Kh năng m rng ca Excel ...........................................................................................100
2.Macro ..................................................................................................................................... 100