1 of 21 7/20/2007 12:01 PM
# 11
Trang chNi Quy Ghi Danh Thành Viên Thư vin Bài Trong Ngày Tìm Kiếm
Gii Pháp Excel > Góc hc tp > Hc tp Online
Kiến thc cơ bn v Visual Basic for Applications (VBA)
Ký danh Ghi Nh?
Mt mã Ðăng Nhp
Trang 2/ 4 <1234>
Ðiu Chnh Kiếm Trong Bài
04-12-06, 12:05 PM
PhanTuHuong
6th Excel Member
Tham gia ngày: 06 2006
Nơi Cư Ng: Hà Ni
Bài gi: 1,060
Thanks: 86
Thanked 366 Times in 204 Posts
7.2. S dng VBAProject
Trong menu Tools, chn VBAProject Properties, ca s VBAProject hin ra như hình 31.
• VBProject: Để nhn dng d án ca bn trong Window Registry (khai báo trong Window) và trong
Object Browser. Điu quan trng là nó có tên duy nht.
• Project Description: Mô t tên ca d án ca bn trong Type Library. Thư vin Type Library cha toàn
b nhng mô t v đối tượng và giao din ca d án ca bn.
Hình 31: S dng VBAProject Properties
Mi tài tr cho giaiphapexcel.com, Ni quy , S dng din đàn: Tìm tài liu , Post bài , Xem
Ký danh
2 of 21 7/20/2007 12:01 PM
Hình 32: D án Su_dung_VBA trong <All Librairies> và bo v code trong Protection
Có nhng d án (project) ca bn lp ra mà không mun người khác xem code, bn có th khoá li. Để
thc hin công vic này, trong tab Protection bn la chn như sau:
• Lock project: Khoá code trong module, không cho nhìn thy và không cho sa cha. Bn phi chn
mc Lock project for viewing.
• Password to view project properties: Bn phi gõ ni dung mã khoá trong hp Password, ni dung
mã khoá biến thành du sao *. Sau đó, bn phi xác nhn ni dung mã khoá trong Confirm password
bng cách gõ li ni dung mã khoá va vào. Nếu bn gõ không đúng ni dung, VBA s báo li và bn phi
gõ li cho đúng. S ký t ti đa là 24 ký t, có th là s, ch và các ký t đặc bit.
Sau đó, mi khi m file trên, để có th xem được code, bn vào menu Tools/Macro, chn Visual Basic
Editer (hoc n Alt + F11). Ca s Microsoft Visual Basic hin ra, tuy nhiên toàn b ni dung code đều
không hin ra (hình v 33). Để xem được ni dung code, bn nháy kép vào Su_dung_VBA Project, ca s
Su_dung_VBA Password hin ra. Bn phi khai báo đúng Password thì ni dung code mi hin ra.
3 of 21 7/20/2007 12:01 PM
# 12
Hình 33: Hp thoi hi mã khoá khi bn m Project b khoá.
Ghi chú: Lưu ý khi s dng mã khoá, nếu bn quên thì s không th m được project. Vì vy, bn phi
nh ni dung mã khoá và nên chn ni dung nào d nh. Nếu mun đổi mã khoá thì bn vào ca s
Password để thay đổi.
thay đổi ni dung bi: PhanTuHuong, 04-12-06 lúc 12:11 PM.
04-12-06, 02:57 PM
PhanTuHuong
6th Excel Member
Tham gia ngày: 06 2006
Nơi Cư Ng: Hà Ni
Bài gi: 1,060
Thanks: 86
Thanked 366 Times in 204 Posts
7.3. S dng chc năng Security
My năm gn đây, do virus macro phát trin nên Microsoft đã b sung thêm chế độ an toàn trong các ng
dng. Chc năng Security điu khin s làm vic ca macro, tc là có th cho hot động hoc không.
1. Bn vào menu Tools/Macro và chn Security (hình 34), ca s Security hin ra.
2. Trong Security, ti tab Security Level có 4 trường hp chn như sau:
- Very High: Đặt chế độ an toàn rt cao, các macro không th chy được, ch tr macro ca Office.
- High: Ch nhng macro được xác nhn mi có th chy, các macro khác cũng b vô hiu hóa. Để
macro được xác nhn, bn phi đăng ký trong menu Tools\Option\Securitry\More Macro\Trusted
Publisher.
- Medium: Đặt chế độ an toàn trung bình. Khi chn trường hp này, nếu bn m file có cha macro thì nó
s cnh báo như hình 35. Bn có th la chn Enable Macros để cho macro hot động hoc Disable
Macros để macro không hot động. Trong trường hp file ca bn không s dng macro (th tc hay hàm
t to) mà khi m Excel cnh báo như hình 31 thì file ca bn b nhim virus macro.
- Low: Không đặt chế độ an toàn, tc là Excel không cnh báo bt c vn đề gì c.
3. Như vy, khi bn s dng VBA thì nên đặt Security Level mc độ Medium hoc Low. Khi đó các th
tc, hoc hàm mi hot động được.
4 of 21 7/20/2007 12:01 PM
# 13
Hình 34: Vào menu Security và ca s Security
Hình 35: Cnh báo macro cha trong file
thay đổi ni dung bi: PhanTuHuong, 04-12-06 lúc 03:07 PM.
04-12-06, 03:14 PM
PhanTuHuong
6th Excel Member
Tham gia ngày: 06 2006
Nơi Cư Ng: Hà Ni
Bài gi: 1,060
Thanks: 86
Thanked 366 Times in 204 Posts
8. Viết macro
Khi bn tiến hành ghi (record) macro, Excel s t động to module và b sung nó vào trong workbook và
viết li nhng hành động bn đã ghi thuc v module đó.
Khi bn mun viết mã (code) trong workbook, bn có th b sung module trong workbook đó. S ghép
ni cho phát trin macro được gi là Visual Basic Integrated Development Evironment (IDE). Macro có
trong module được hin ra trong IDE thay thế cho bng tính trong workbook (như Excel đời trước 97).
8.1. Viết macro
Trước tiên chuyn sang workbook mi (nhưng cho phép workbook cũ đó vn m) như sau:
5 of 21 7/20/2007 12:01 PM
1. Tiếp theo bm chut vào nút New trong thanh công c (toolbar), hoc vào menu File ri chn New.
2. Bm chut phi ti tên ca Sheet1 và chn Rename trong menu tt.
3. Gõ ni dung Text ri n Enter.
Viết macro:
1. T menu Tools/Macros bn chn Visual Basic Editor.
2. Trong ca s Microsoft Visual Basic bn vào menu Insert và chn Module (hình 36).
3. Nếu cn, bn có th thay đổi tên ca module theo ý mun. Trong ca s Properties, bên cnh (Name)
bn chn Module1 và sa thành Chuongtrinh.
4. Bm vào vùng trng ca ca s Chuongtrinh (phn code).
5. Gõ Sub MyFirst ri bm Enter. Khi đó Excel s t động đin () và End Sub, th hin như hình 36.
6. Gõ các lnh tng bước mt theo s mô t dưới. Bn có thđược nhng giúp đỡ trong Sub
Address_abs() ti mc 4 và hình 13.
Trước đó, macro ca bn cha các lnh đơn gin.
- Bước 1: Chn sheet có tên Text (dùng Sheets(“Text”).Select)
- Bước 2: Gõ đon I can write macros! trong ô B2 trong sheet đó.
- Bước 3: Bôi đậm ch.
Cui cùng, bn kim tra (test) li macro Text:
1. Quay tr v sheet Text.
2. T menu Tools/Macros chn Macros.
3. Trong ca s Macros, bn chn macro có tên là MyFirst và chn Run.
Mi vic s tt đẹp, đon ch đậm I can write macros! s được nhp vào ô B2.
Khi code b li thì s có bng thông báo li, ví d như hình 37.
Hình 36: To Module và Sub trong workbook