Tải bản đầy đủ (.doc) (310 trang)

Xử lý tự động công nghệ thông tin trong văn phòng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.95 MB, 310 trang )

Chú ý:
Giáo trình này được thiết lập tự động cập nhật tất cả
các liên kết và mã lập trình đều ở dạng dữ liệu Việt Pháp,
nên phải chỉnh dữ liệu và máy tính về dạng Việt Pháp
trước khi đọc tiếp giáo trình này, nhấn phím Ctrl và nháy
vào đây để đọc cách chỉnh thuộc trang .
Không thực hiện sửa chữa đè lên phần nội dung
có mã nền đen như thế này. Khi sửa chữa xong, bôi
đen chọn toàn bộ văn bản, nhấn phím F9 để cập
nhật. Không cắt hình và tiêu đề hình chuyển vị trí
mà chỉ chuyển phần chữ, do các hình đều đặt
BookMark liên kết, nếu không đặt lại đúng sẽ bị lỗi
hàng loạt.
QUÂN CHỦNG PHÒNG KHÔNG - KHÔNG QUÂN
HỌC VIỆN PHÒNG KHÔNG - KHÔNG QUÂN
XỬ LÝ TỰ ĐỘNG CÔNG NGHỆ THÔNG TIN
TRONG VĂN PHÒNG
HÀ NỘI - 2010
QUÂN CHỦNG PHÒNG KHÔNG - KHÔNG QUÂN
HỌC VIỆN PHÒNG KHÔNG - KHÔNG QUÂN
XỬ LÝ TỰ ĐỘNG CÔNG NGHỆ THÔNG TIN
TRONG VĂN PHÒNG
(Giáo trình dùng cho mọi đối tượng sử dụng máy vi tính
của Học viện Phòng không - Không quân)
HÀ NỘI - 2010
(Quyết định ban hành số……………, ngày…….., tháng….., năm 200
của Giám đốc Học viện Phòng không - Không quân)
Tác giả
Chủ biên: KS Nguyễn Anh Cường
Trưởng ban CNTT- Học viện Phòng không -Không quân
Trưởng Kỹ thuật Trung tâm Tin học ABC



0988.529.310
Người sửa chữa, hiệu đính:
Nguyễn Phương Thảo
Giám đốc Trung tâm Tin học ABC
Cửa hàng trưởng 148 Vương Thừa Vũ - Hà Nội
Trang phục May sẵn Rẻ nhất Hà Nội

0912.678.515
MỤC LỤC
Người sửa chữa, hiệu đính:......................................................................................4
MỤC LỤC............................................................................................................1
CHỮ VIẾT TẮT....................................................................................................2
LỜI NÓI ĐẦU......................................................................................................3
2
CHỮ VIẾT TẮT

Enter
B Bước
BKAV Bách Khoa AntiVirus
CNTT Công nghệ thông tin
COM Component Object Model
CSDL Cơ sở dữ liệu
DDE Dynamic Linking and Embedding
IDE Integrated Development Enviroment
OLE Object Linking and Embedding
VB Visual Basic
VBA Visual Basic For Application
VD Ví dụ
VSTO Visual Studio Tools for Office

WinWord Microsoft Word
XML Extensible Markup Language
Trung tâm Tin học ABC giữ bản quyền 
3
LỜI NÓI ĐẦU
Nhu cầu ứng dụng công nghệ thông tin trong học tập, nghiên cứu và giảng dạy của
Học viện luôn rất lớn. Việc sử dụng CNTT trong công tác văn phòng là việc làm thường
xuyên, nhưng cách thức làm việc để đáp ứng yêu cầu nhanh chóng, hiệu quả, chính xác còn
rất bất cập và nhiều hạn chế, cần được định hướng, đi sâu, nghiên cứu để khai thác hiệu quả,
đặc biệt là lĩnh vực xử lý tự động. Để đáp ứng kịp thời nhu cầu đó, giáo trình “Xử lý tự
động công nghệ thông tin trong văn phòng” được biên soạn để phục vụ nhiệm vụ đào
tạo đội ngũ nhân lực công nghệ thông tin, đồng thời làm tài liệu tham khảo cho mọi đối
tượng giúp cho việc nắm rõ bản chất của vấn đề cần xử lý, tạo tiền đề xây dựng và phát triển
ứng dụng CNTT trong công tác văn phòng.
Tài liệu “Xử lý tự động công nghệ thông tin trong văn phòng” được biên soạn
dựa trên cơ sở tổng hợp, thống nhất nội dung của những tài liệu dịch nguyên bản từ tiếng
Anh, các tài liệu và những bài viết về bộ phần mềm Microsoft Office hiện có trên Internet và
những tài liệu đã xuất bản. Nội dung chủ yếu tập trung đi sâu vào những vấn đề liên quan
đến xử lý tự động văn phòng Microsoft Word, Microsoft Excel và kết nối, liên kết dữ liệu, ở
version 2003, 2007 về sau đã và đang sử dụng trong Học viện, phù hợp với yêu cầu nội
dung, chương trình đào tạo nhân lực công nghệ thông tin.
Bố cục của tài liệu gồm 8 chương:
- Chương 1: Hệ thống và cài đặt;
- Chương 2: Ngôn ngữ Visual Basic cho ứng dụng;
- Chương 3: Các tệp lưu giữ tuỳ biến;
- Chương 4: Các xử lý chuyên biệt trong Word;
- Chương 5: Xử lý hỗn hợp trong Word;
- Chương 6: Các trường trong Word;
- Chương 7: Các thao tác trong môi trường Excel;
- Chương 8: Thiết lập các công thức cho các ô bị động Excel.

Tài liệu dùng cho các lớp đào tạo nhân lực công nghệ thông tin với những học viên
đã sử dụng công nghệ thông tin trong công tác văn phòng; phục vụ cho dự án của Học viện,
đồng thời cũng thích hợp cho các giáo viên, các lập trình viên, học viên làm luận án tốt
nghiệp và cán bộ đang thực hiện làm những chuyên đề, giáo trình, tài liệu.
Tài liệu được biên soạn lần đầu tiên, chắc chắn sẽ không tránh khỏi những sai sót, rất
mong nhận được sự đóng góp ý kiến của bạn đọc để lần tái bản sau được hoàn chỉnh hơn.
Xin trân trọng cảm ơn!
Tác giả
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
4
Chương 1:
Hệ thống và cài đặt
Chương này trình bày cách chỉnh hệ thống theo chuẩn Việt Nam và thực hiện
cài đặt để các nội dung xử lý và ví dụ của những chương sau trong tài liệu này được
thực hiện đúng. Việc xác định và thiết lập các dữ liệu Việt Pháp giúp cho xử lý những
vấn đề liên quan đến dữ liệu thông dụng không mắc lỗi. Việc cài đặt đầy đủ cho phép
tận dụng được mọi khả năng của Microsoft Office đồng thời nắm rõ phần mềm Bách
Khoa AntiVirus để tránh không làm hỏng các macro.
1.1. Một số nội dung liên quan đến hệ thống
1.1.1. Điều chỉnh dữ liệu về dạng Việt Pháp
a) Công dụng
Dùng để thống nhất dữ liệu trong tài liệu đúng với quy định Việt Nam. Nếu không
điều chỉnh, dữ liệu sẽ được xử lý không đúng, (các ví dụ trong tài liệu này cũng không loại
trừ) chính vì vậy phải là công việc cần kiểm tra đầu tiên khi sử dụng máy tính.
b) Một số quy định về dữ liệu dạng Việt Pháp
- Về số:
+ Sử dụng dấu chấm để ngăn cách các nhóm 3 số, mô tả giá trị ngàn, triệu, tỉ...
+ Sử dụng dấu phảy để ngăn cách đối với giá trị phần nguyên và phần thập phân.
+ Sử dụng dấu trừ (-) làm ký hiệu số âm và được đặt ở trước phần giá trị của số.
- Về tiền tệ:

+ Quy định theo cách viết về số.
+ Ký hiệu chỉ đơn vị tiền tệ đứng sau phần chữ số.
- Về thời gian:
+ Quy định viết theo thể thức ngày/tháng/năm.
Bảng 1.1. Định dạng Việt Pháp và Anh Mỹ
Số
Viết theo định dạng
Việt Pháp Anh Mỹ
1000 1/4 1.000,25 1,000.25
Ngày 10 tháng 3 năm 2010 10/3/2010 3/10/2010
10000000 đô là 10.000.000 $ $ 10,000,000
123 độ dưới 0 -123
O
C (123
O
C)
Đơn vị đo theo hệ Metric (mét) U.S (inch)
c) Cách điều chỉnh
B0. Vào Control Panel. (Start/Control Panel)
B1. Vào Regional And Language Options, hộp thoại hiện ra. (hình 1.1 trang
5) chọn nút Customize... Điều chỉnh lần lượt 4 thẻ gồm Number, Current, Time, Date,
thẻ nào trước cũng được, theo quy định định dạng Việt Pháp theo các hình vẽ (từ hình
1.2 đến hình 1.5) sau đó chọn Apply và OK.
Chú ý: - Khi làm việc với các phần mềm, sử dụng định dạng Việt Pháp.
- Khi làm việc, lập trình bằng VBA, sử dụng cách viết và định dạng Anh Mỹ.
- Khi nhập dữ liệu số, không nhập định dạng, để Office tự định dạng giúp.
Trung tâm Tin học ABC giữ bản quyền 
5
Hình 1.1. Hộp thoại Regional And Language Options
Hình 1.2. Điều chỉnh hiển thị số ở Tab Numbers về dạng Việt Pháp

Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
Điều chỉnh để đưa
dữ liệu về dạng
Việt Pháp
6
Hình 1.3. Điều chỉnh hiển thị tiền tệ ở Tab Currency về dạng
Việt Pháp
Hình 1.4. Điều chỉnh hiển thị thời gian ở Tab Time về dạng
Việt Pháp
Trung tâm Tin học ABC giữ bản quyền 
7
Hình 1.5. Điều chỉnh hiển thị ngày tháng ở Tab Date về dạng
Việt Pháp
1.1.2. Biểu diễn dữ liệu ngày tháng trên trục thời gian
a) Bản chất dữ liệu thời gian
Khoảng thời gian ngầm định
Ngày d
1
Ngày d
2
1900 Hôm nay 2078
Số ngày
Hình 1.6. Sơ đồ mô tả vị trí từng thời điểm trên trục thời gian
- Theo ngầm định, máy tính quy định trục thời gian bắt đầu từ năm 1900 và kết
thúc ở năm 2078. Khoảng thời gian này có thể được điều chỉnh phù hợp với thực tế và
khả năng tính toán tự động của mỗi dạng bài toán. Về việc nhập dữ liệu năm khi nhập 2
con số, máy tính sẽ tự hiểu và tự động điền bổ sung hai con số để hoàn thành giá trị
năm. Khi nhập năm 99 thì máy tính tự hiểu là năm 1999. Nhập năm 11, máy tính tự điền
là năm 2011. Tuy nhiên khi nhập năm 30 có thể máy tính này điền là năm 1930, máy
tính khác điền là năm 2030. Trên hình 1.5 trang 7 phần Calendar có thể điều chỉnh được

khoảng thời gian quy định này để máy tính tự nhập đúng với ý định. Mỗi một thời điểm
(ngày) là 1 điểm trên trục thời gian.
- Theo quy định thì những ngày đứng sau (ngày d
2
) được coi là lớn hơn ngày
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
8
đứng trước (ngày d
1
). Nên khi lấy ngày d
2
trừ ngày d
1
sẽ được số ngày. Tương tự lầy
ngày d
1
cộng với số ngày sẽ được ngày d
2
.
- Những quy định liên quan đến ngày, tháng, thời gian là một trong những dữ
liệu quan trọng trong xử lý tự động liên quan đến những công việc văn phòng.
b) Những điều suy ra từ trục thời gian
Mỗi năm có 365,25 ngày (Vì thông thường, 4 năm sẽ thêm 1 ngày thành năm
nhuận nên có thêm chỉ số,25) nên muốn tính số năm (n
y)
từ số ngày (n
d
) thì có thể sử
dụng công thức:
365,25

n
n
d
y
=
(1.0)
Vì số năm thường tính số nguyên, nên khi muốn làm tròn thành số nguyên thì sử
dụng công thức:
)
365,25
n
(n
d
y
INT=
(1.0)
Trong đó INT là hàm dùng để chuyển kết quả trong biểu thức đối số của nó
thành số nguyên. Hay:
)
365,25
d - d
(n
12
y
INT=
(1.0)
Trong đó d
2
là ngày sau, d
1

là ngày trước.
Ngoài ra có thể nhận được số dư của phép chia thông qua hàm MOD (trong
Excel) hoặc phép tính MOD trong VBA.
Trong Excel sẽ viết theo hàm:
∆ = MOD(A
x
; B
x
) (1.0)
Trong VBA sẽ viết theo khuôn dạng:
∆ = A
x
MOD B
x
(1.0)
Trong đó:
∆: Kết quả cần tính số dư.
A
x
: Biểu thức số bị chia.
B
x
: Biểu thức số chia.
1.2. Cài đặt Microsoft Office
1.2.1. Nguyên tắc khi cài đặt Microsoft Office
Để làm việc với xử lý tự động, Microsoft Office phải luôn được cài đặt đầy đủ,
không bỏ chức năng nào và phải chạy tất cả từ máy tính. Việc cài đặt ngầm định sẽ
không đáp ứng được, vì các lựa chọn sẽ thiếu, nên không phục vụ được cho xử lý tự
động được.
Khi có các lỗi xảy ra, như hiện các thông báo “Compile error in Hidden

Module” phải thực hiện tiến hành:
- Cài đặt bổ sung cho Office tất cả các chức năng.
- Bổ sung thư viện hàm và thủ tục cho VBA.
- Không sử dụng chức năng xoá macro của chương trình diệt virus BKAV (nếu
sử dụng phần mềm diệt virus này).
Trung tâm Tin học ABC giữ bản quyền 
9
1.2.2. Thực hiện cài đặt đầy đủ Microsoft Office
Chạy cài đặt giống như đối với bất cứ một phần mềm cài đặt nào, cho đến khi
chọn cài đặt, phải chọn Custom và Run All From My Computer.
VD 1: Cài Microsoft Office 2003, chạy tệp SETUP.EXE trong thư mục nguồn
cài đặt. Có thể điền sẵn các thông tin vào vùng [Options] của tệp SETUP.INI thì khi cài,
Office sẽ tự động điền các thông tin cần thiết, chỉ việc chọn Next.
(Thường đặt dòng mã cài PIDKEY=GWH28DGCMPP6RC46J4MT3HFDY)
Hình 1.7. Hộp thoại nhập mã cài đặt Office 2003
Hình 1.8. Hộp thoại nhập thông tin người dùng
Hình 1.9. Phải chọn Custom để cài đặt đầy đủ
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
10
Hình 1.10. Phải chọn Advanced Customization of Application
Hình 1.11. Chọn Microsoft Office rồi chọn Run all from My Computer
Hình 1.12. Hộp thoại xác nhận, đồng ý chọn Install
Microsoft Office sẽ thực hiện cài đặt, copy vào máy, ghi các lựa chọn vào
registry các thiết lập ban đầu, chờ cho đến khi hiện hộp thoại có nút Finish, quá trình cài
đặt mới hoàn thành.
Trung tâm Tin học ABC giữ bản quyền 
11
Hình 1.13. Hộp thoại báo cài xong
Trường hợp không cài đặt Full sẽ gặp thông báo ngay khi vào một phần mềm
bất kỳ của Microsoft Office, ví dụ trường hợp WinWord:

Hình 1.14. Báo lỗi module ẩn, do không cài đặt đầy đủ Microsoft Office, (tất
cả có bao nhiêu module trong normal.dot sẽ hiện từng đấy thông báo này)
Phải tiến hành cài đặt đầy đủ để bổ sung phần còn thiếu.
1.2.3. Thực hiện cài bổ sung
Bằng cách chạy lại tệp cài đặt bộ OFFICE (setup.exe), đến khi hiện hộp thoại thì
chọn như hình vẽ:
Hình 1.15. Chọn “Add or Remove Features” để cài bổ sung Office
Các bước còn lại của cài bổ sung sẽ hiển thị lại từ hộp thoại hình 1.11 trang 10.
Nếu cài đặt bổ sung Full như trên, nhưng vẫn báo lỗi “Compile error in
Hidden Module” là do những thư viện bổ sung vào còn chưa cập nhật, do lần cài đặt
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
12
trước chưa đầy đủ, thực hiện cập nhật các thư viện này bằng tay trong Microsoft Office
(Ví dụ WinWord) như sau:
B1. Vào VBA bằng Alt + F11.
B2. Chọn Tools/References... đánh dấu các thư viện cần sử dụng tối thiểu phải
chọn các thư viện như hình 1.16 trang 12.
Hình 1.16. Bổ sung các thư viện tối thiểu sẽ sử dụng
1.2.4. Chú ý khi sử dụng chương trình diệt Virus BKAV sau khi cài
Hình 1.17. Nếu không cản thận, BKAV là chương trình phá hỏng mọi
Trung tâm Tin học ABC giữ bản quyền 
13
chức năng xử lý tự động, khi chọn “Xoá tất cả Macro”
Trong quá trình xử lý tự động, làm việc chủ yếu với các macro. Các macro này
với bất cứ phần mềm diệt virus nào cũng không có vấn đề gì, ngoại trừ phần mềm diệt
virus Bách khoa AntiVirus (BKAV) sẽ xoá mất macro nếu đánh dấu mục “Xoá tất cả
các macro”. BKAV là chương trình diệt virus duy nhất cho tới thời điểm này, không
phân biệt được virus với macro. Cho nên để tránh những sai lầm đáng tiếc, giáo trình
khuyến cáo không nên sử dụng chương trình diệt Virus BKAV.EXE khi máy tính có
dùng các chức năng xử lý tự động.

Kết luận chương 1
Chương này mặc dù chỉ nêu vấn đề liên quan đến điều chỉnh, cài đặt đầy đủ và
bổ sung Microsoft Office nhưng có vai trò rất to lớn, làm nền móng cho mọi vấn đề xử
lý tự động đề cập ở những chương sau. Cần nắm chắc những nội dung của chương này
để tránh những lỗi đáng tiếc.
Trên thực tế có rất nhiều dạng toán liên quan đến thời gian nên phải nắm chắc
quy định của máy tính về thời gian để đưa ra những thuật toán, phương pháp xử lý đối
với thời gian hợp lý. Những nhầm lẫn về nội dung này sẽ ảnh hưởng rất lớn đối với các
nội dung cần đưa ra, thậm chí có nhiều kết quả trái ngược với yêu cầu xử lý.
Câu hỏi và bài tập chương 1
0. Định dạng dữ liệu kiểu Việt Pháp và Anh Mỹ có đặc điểm gì giống nhau, trái
ngược nhau?
1. Khi nhập giá trị 1000 vào 1 ô trong Excel có 3 cách nhập, chọn cách đúng
nhất, giải thích tại sao?
a) Nhập “1.000” b) Nhập “1,000” c) Nhập “1000”
2. Thực hiện điều chỉnh dữ liệu về dạng Việt Pháp đối với các hệ điều hành
Windows Vista, Windows 7... hoặc các hệ điều hành mới hơn (nếu có).
3. Thực hiện cài đặt Full các bộ cài Microsoft Office 2007, Microsoft Office
2010 hoặc version cao hơn.
4. Ở một máy tính, khi nhập ngày tháng năm vào một ô trong Excel, nhưng
Excel cứ tự nhận “tháng, ngày, năm”, nêu cách khắc phục...
5. Xác định thuật toán để trả về số ngày trong tháng hiện tại.
6. Xác định thuật toán để trả về ngày cuối cùng của tháng bất kỳ.
7. Khi một người A sinh nhật ngày 1/4 và một người B sinh nhật ngày 30/4, nếu
quan niệm ngày sinh của người B lớn hơn ngày sinh của người A thì đúng hay sai, vì
sao?
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
14
Chương 2:
Ngôn ngữ Visual Basic cho ứng dụng

Để làm việc hiệu quả đối với công tác văn phòng thông qua các phần mềm
ngoài việc đòi hỏi sử dụng thành thạo còn phải am hiểu và nắm rõ bản chất của vấn đề
đang thực hiện. Trong tất cả các phần mềm nói chung và bộ phần mềm Microsoft
Office nói riêng, đều cho phép người dùng có một khả năng tùy biến để thiết lập, cải
tiến, bổ sung, điều chỉnh những chức năng của phần mềm. Việc thay đổi này giúp cho
việc khai thác sử dụng được linh hoạt mang lại những kết quả ấn tượng và nhanh chóng.
Chương này giới thiệu những kiến thức cơ bản về Visual Basic For Application làm nền
tảng để lập trình bổ sung các chức năng mới cho Office.
2.1. Tổng quan về Visual Basic For Application
2.1.1. Khái niệm
Một số phần mềm đã cho phép người dùng có thể cần thiệp sâu vào bên trong
nó bằng các công cụ lập trình, để có thể tự giải quyết các bài toán phát sinh mà người
thiết kế phần mềm không thể dự kiến trước được. Khi người dùng xây dựng những
chương trình dựa trên những ứng dụng được thiết kế theo cấu trúc mở này, họ sẽ tận
dụng những khả năng sẵn có của chúng để làm nền, giúp cho việc lập trình được nhanh
và hiệu quả hơn rất nhiều so với cách lập trình thông thường, nên có thể gọi chúng là các
ứng dụng nền, điển hình và được sử dụng nhiều nhất làm ứng dụng nền trong tin học
văn phòng là Word và Excel, ngoài việc phù hợp với định dạng tài liệu trong văn phòng
(văn bản và bảng tính) chúng còn cho phép người dùng xây dựng các chương trình chạy
cùng với mục đích bổ sung thêm các chức năng chuyên biệt.
Một phần mềm được gọi là ứng dụng nền khi thỏa mãn đồng thời các tiêu chí:
- Cho phép một chương trình chạy bên trong và cùng với nó (tương tự như một lệnh).
- Cho phép sử dụng các tính năng của nó thông qua công cụ lập trình thích hợp.
- Một lệnh mới hay một chức năng mới được xây dựng trên ứng dụng nền thực
chất là một chương trình hoàn chỉnh, vì vậy, để xây dựng nó cần có công cụ lập trình
tương ứng. Thông thường công cụ lập trình được hiểu như là một tập hợp bao gồm:
+ Ngôn ngữ lập trình.
+ Môi trường lập trình.
+ Thư viện hỗ trợ lập trình.
Trong Microsoft Office hỗ trợ các công cụ lập trình:

+ VBA (Visual Basic For Application)
+ VSTO (Visual Studio Tools for Office)
2.1.2. Sử dụng Visual Basic For Application
Mỗi công cụ lập trình luôn có những đặc điểm riêng và khó có thể phán xét cái
nào hay hơn hoặc kém hơn một cách tổng quát. Do đó, để lựa chọn được công cụ lập
trình thích hợp khi lập trình trên ứng dụng nền, cần dựa vào mục đích cụ thể. Trong lĩnh
vực xử lý tự động công tác văn phòng, hầu hết các bài toán lớn và cơ bản đã được giải
quyết, nhưng còn rất nhiều các bài toán khác, tuy không lớn và không quá phức tạp,
nhưng rất đa dạng và khó khái quát, vẫn thiếu phần mềm thực hiện. Nên phạm vi ứng
Trung tâm Tin học ABC giữ bản quyền 
15
dụng của lập trình trên ứng dụng nền là rất lớn và có tính hiệu quả cao. Với quy mô của
các bài toán này, thì việc lựa chọn VBA làm công cụ lập trình là rất phù hợp:
- Ngôn ngữ lập trình Visual Basic (VB) là một loại ngôn ngữ dễ sử dụng, có số
lượng người dùng đông đảo và tài liệu tham khảo rất phong phú, nên việc trao đổi kỹ
năng, tìm kiếm tài liệu, mã nguồn rất dễ dàng.
- Môi trường lập trình thân thiện, dễ dùng và đầy đủ nên việc xây dựng ứng
dụng sẽ nhanh và không cần thêm công cụ lập trình nào khác.
- Trên tất cả các ứng dụng nền hỗ trợ Visual Basic For Application (VBA), giao
diện lập trình là đồng nhất, do đó người dùng có thể lập trình mở rộng trên nhiều ứng
dụng nền một cách thuận lợi.
- Thư viện lập trình có rất nhiều và đa dạng cho nên người dùng có thể xây dựng
ứng dụng của mình nhanh và chuyên nghiệp.
- Tốc độ thực thi của chương trình nhanh.
- Khai thác được hầu hết các tính năng sẵn có của ứng dụng nền.
- Chương trình VBA có thể được nhúng trong tệp của ứng dụng nền (chẳng hạn
như tệp bảng tính của Excel hay tệp văn bản của Word) hoặc có thể được lưu dưới dạng
một dự án độc lập. Điều này giúp cho việc phân phối, chia sẻ mã lệnh được thuận tiện.
2.1.3. Đặc điểm của Visual Basic For Application
Từ các đặc điểm cơ bản đã được phân tích các phần trên, có thể thấy rằng VBA

là một công cụ lập trình cho phép phát triển nhanh phần mềm và được tích hợp vào
trong ứng dụng nền. Về thực chất, VBA được xây dựng dựa trên kiến trúc COM, cho
nên người dùng có thể sử dụng các thành phần sẵn có của ứng dụng nền trong việc xây
dựng chương trình của mình với VBA.
Từ những macro ban đầu có thể tập hợp lại để xây dựng thành các dự án chuyên
biệt. Tài liệu này tuy không đi sâu về vấn đề xây dựng dự án, nhưng sẽ khái quát để học
viên nắm được vấn đề có thể tự phát triển theo từng mục tiêu sau này.
Một dự án được xây dựng bằng VBA dựa trên ứng dụng nền nào thì nó phụ
thuộc chặt chẽ vào ứng dụng nền đó, bởi theo mặc định, dự án VBA sẽ hoạt động và sử
dụng các thành phần trong chính ứng dụng nền đó. Điều này có nghĩa là rất khó có thể
chuyển đổi một dự án VBA từ loại ứng dụng nền này sang một ứng dụng nền khác
cũng như tạo ra một ứng dụng chạy độc lập.
Sự khác biệt cơ bản nhất của VBA trong các ứng dụng nền (ví dụ giữa VBA
trong AutoCAD và VBA trong Excel) là cách thức sử dụng các thành phần (đối tượng)
của ứng dụng nền. Cho nên khi xây dựng ứng dụng bằng VBA, nên nắm rõ mô hình đối
tượng của ứng dụng nền và cách sử dụng chúng có thể sử dụng macro để phát sinh mã
lệnh đối với các đối tượng.
2.1.4. Trình tự xây dựng một dự án bằng Visual Basic For Application
Về mặt trình tự thực hiện, việc xây dựng một dự án VBA bao gồm các bước sau:
B1. Xác định rõ nhu cầu xây dựng chương trình. Nhu cầu này được xác định
dựa trên hoạt động thực tế của người dùng và thường do chính người dùng đề xuất. Đây
là bước xác định các chức năng của chương trình.
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
16
B2. Xác định rõ mục tiêu mà chương trình cần đạt được, là phần cụ thể hóa của
bước 1, nếu như bước 1 có nhu cầu hoàn thiện nội dung mong muốn, thì bước 2 này sẽ
cụ thể mức độ hoàn thiện (đến đâu và như thế nào).
B3. Lựa chọn ứng dụng nền và công cụ lập trình phù hợp cho việc xây dựng
chương trình. Ví dụ với nhu yêu cầu tính liên quan đến thời gian, thì ứng dụng nền thích
hợp là VBA, hoặc trường của Word. Tùy theo mức độ phức tạp của bài toán mà lựa chọn

công cụ lập trình phù hợp. Ở đây VBA đảm bảo sự thuận tiện trong việc xây dựng các
mô-đun tính toán đối với những bài toán liên quan đến thời gian thông thường.
B4. Thiết kế hệ thống cho chương trình (hay dự án): bao gồm việc lập sơ đồ
khối, xác định các mô-đun của chương trình, thiết kế giao diện nhập xuất dữ liệu và kết
quả, xây dựng hệ thống cơ sở dữ liệu sao cho thỏa mãn những đề xuất ở bước 1 và 2.
B5. COM (Component Object Model): là một kiến trúc lập trình được thiết kế
bởi Microsoft. Mục đích của công nghệ này là tạo ra một chuẩn công nghệ trong lập
trình, mà ở đó cho phép xây dựng chương trình theo mô hình lắp ghép hay sử dụng lại
các sản phẩm đã được hoàn thiện từ trước theo chuẩn COM.
B6. Viết mã lệnh (lập trình): là việc sử dụng công cụ lập trình để tạo ra chương
trình phù hợp với hệ thống đã được thiết kế ở bước 4.
B7. Kiểm thử chương trình: là công đoạn hoàn thiện và chuẩn bị đưa chương
trình vào sử dụng.
Những công việc chính của bước này bao gồm:
- Kiểm tra xem các chức năng của chương trình đã thỏa mãn các yêu cầu đề ra
từ trước chưa bằng cách chạy thử tất cả các tính năng của chương trình dựa trên một
kịch bản cụ thể.
- Kiểm tra hiệu năng của chương trình: xem thời gian thực hiện và quy trình sử
dụng chương trình có hợp lý không.
- Kiểm tra khả năng chịu lỗi của chương trình, như khi nhập số liệu sai. Một
chương trình đảm bảo khả năng chịu lỗi là nó sẽ không bị dừng lại đột ngột do lỗi thao
tác của người dùng hay dữ liệu sai.
B8. Đóng gói, đưa chương trình vào sử dụng: bao gồm việc xây dựng tài liệu
hướng dẫn cài đặt và sử dụng chương trình nhằm mục đích giúp người dùng có thể triển
khai chương trình vào thực tế.
B9. Tiếp nhận các góp ý, phản hồi của người dùng để bổ sung hay hoàn thiện
những khiếm khuyết của chương trình mà trong quá trình thiết kế hệ thống hay kiểm thử
đã bỏ qua hoặc chưa phát hiện được.
B10. Nâng cấp chương trình: sau một thời gian sử dụng, dựa trên những phản
hồi của người dùng, nếu thấy rằng chương trình cần bổ sung thêm những tính năng mới

thì người phát triển phần mềm sẽ thực hiện sự bổ sung này dựa trên những thành phần
đã có từ trước.
2.1.5. Cấu trúc của một dự án Visual Basic For Application
Một dự án VBA có cấu trúc tương tự như sau:
- Mô-đun chuẩn (Module): Nơi chứa các mã lệnh khai báo, các chương trình
Trung tâm Tin học ABC giữ bản quyền 
17
con (hàm và thủ tục). Việc tạo ra các mô-đun chuẩn thường căn cứ theo các khối chức
năng được đặt ra khi xây dựng hệ thống.
- Mô-đun lớp (Class Module): Nơi chứa định nghĩa các lớp của dự án.
- Userform: Giao diện dạng hộp thoại giúp cho việc giao tiếp giữa người sử
dụng và chương trình được thuận tiện. Thông thường sử dụng Userform để nhập số liệu,
xuất kết quả của chương trình. Trong nhiều trường hợp, nếu việc nhập số liệu và xuất
kết quả được thực hiện trực tiếp trên ứng dụng nền thì không cần sử dụng Userform.
Những thành phần này là bộ khung để người dùng xây dựng chương trình, như
viết mã lệnh hay thiết kế giao diện cho chương trình. Mô-đun lớp và UserForm là hai
thành phần có thể có hoặc không tùy thuộc vào từng dự án và tất cả những thành phần
này đều được hiển thị trên cửa sổ Project Explore của giao diện của VBA IDE.
Khi viết chương trình (mã lệnh) cụ thể thì cấu trúc của một chương trình thường
được coi là sự bố trí, sắp xếp các câu lệnh trong chương trình đó. Khái niệm cấu trúc
này phụ thuộc vào từng loại ngôn ngữ lập trình. Đối với ngôn ngữ lập trình Visual Basic
(VB), thì cấu trúc chỉ tập trung vào chương trình con (hàm và thủ tục) mà không có một
quy định về cấu trúc nào đối với chương trình chính.
2.1.6. Môi trường phát triển tích hợp
Trong mỗi công cụ lập trình trên ứng dụng nền, luôn có một môi trường lập
trình nhằm hỗ trợ người dùng có thể xây dựng, thử nghiệm và hoàn thiện chương trình
của mình. Trong các phần mềm Office, khi sử dụng VBA để lập trình, môi trường lập
trình được gọi là Môi trường phát triển tích hợp (VBA IDE). Trên tất cả các ứng dụng
nền, VBA IDE có cấu trúc và hoạt động tương đương nhau với giao diện cơ bản như
hình 2.1 và cách gọi giao diện VBA IDE từ ứng dụng nền như sau:

- Phím tắt: Từ giao diện chính của ứng dụng nền, nhấn tổ hợp phím Alt+F11.
- Menu: Nhấn Tools/Macro/Visual Basic Editor (h trang 18)
- Thanh trình đơn (Menu bar): chứa tất cả các lựa chọn cần thiết để thao tác với
VBA IDE
- Cửa sổ dự án (Project Explorer Window): liệt kê dưới dạng cây phân cấp các
dự án hiện đang được mở trong VBA IDE và các thành phần có trong từng dự án như
các tài liệu thành phần, các mô-đun chứa chương trình con, các mô-đun lớp, các cửa sổ
do người dùng tạo.
Việc thêm các thành phần mới vào trong một dự án được thực hiện trong menu
Insert của VBA IDE. Ví dụ muốn thêm một mô-đun chuẩn vào trong dự án, chọn
Insert/Module.
- Cửa sổ mã lệnh (Code Window): mỗi thành phần được liệt kê trong cửa sổ dự
án đều có một cửa sổ mã lệnh riêng, chứa mã lệnh cho thành phần đó. Người dùng có
thể hiệu chỉnh mã lệnh, tạo ra mã lệnh mới trong cửa sổ mã lệnh.
- Cửa sổ tra cứu đối tượng (Object Browser Window): hiển thị các lớp, phương
thức, thuộc tính, sự kiện và hằng số có trong thư viện đối tượng và trong dự án mà
người dùng vừa tạo.
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
18
Hình 2.1. Giao diện chính của VBA IDE
- Có thể sử dụng cửa sổ này để tìm kiếm, tra cứu tất cả các đối tượng vừa tạo ra
cũng như các đối tượng trong các chương trình khác.
- Cửa sổ đối tượng trực quan (Visual Object Window): khi người dùng tạo các
đối tượng trực quan thì cửa sổ này sẽ cho phép người dùng thao tác trên các điều khiển
một cách dễ dàng và thuận tiện.
- Hộp công cụ chứa điều khiển (Tool Box): chứa các thanh công cụ giúp người
dùng có thể chèn các điều khiển vào cửa sổ người dùng (UserForm).
- Cửa sổ thuộc tính (Properties Window): cửa sổ này liệt kê tất cả các thuộc tính
của đối tượng, qua đó người dùng có thể tham khảo và thay đổi các thuộc tính khi cần
như màu chữ, tên đối tượng…

2.2. Cơ bản về ngôn ngữ lập trình Visual Basic
2.2.1. Những qui định về cú pháp
Cú pháp được hiểu là một một tập hợp bao gồm các quy tắc, luật lệ về trật tự và
hình thức viết của một câu lệnh hay một cấu trúc lệnh.
Trong ngôn ngữ lập trình Visual Basic (VB), cũng như các ngôn ngữ lập trình
Trung tâm Tin học ABC giữ bản quyền 
Cửa sổ dự án
Cửa sổ mã
lệnh
Cửa sổ thuộc
tính
Hộp
ToolBox
Cửa sổ tra
cứu đối
tượng
Đối tượng trực quan
Thanh thực đơn
19
khác, đều có những quy định về cú pháp cho việc viết mã lệnh và người lập trình cần
phải tuân theo các quy tắc này để trình biên dịch có thể dịch mã lệnh mà không phát sinh
lỗi. Sau đây là các quy định cơ bản về cú pháp của VB:
- Các câu lệnh phải là các dòng riêng biệt. Nếu có nhiều lệnh trên cùng một dòng
thì giữa các lệnh ngăn cách nhau bằng dấu hai chấm (:). Nếu dòng lệnh quá dài, muốn
ngắt lệnh thành hai dòng thì sử dựng dấu cách và dấu gạch dưới (_).
- Nếu muốn chèn thêm ghi chú, phải bắt đầu dòng chú thích bằng dấu nháy đơn (’).
- Qui ước khi đặt tên: phải bắt đầu bằng kí tự kiểu chữ cái thông thường; không
chứa dấu chấm, dấu cách hay các ký tự đặc biệt khác; không quá 255 kí tự; không trùng
với các từ khoá; các biến có cùng một phạm vi thì không được đặt tên trùng nhau.
2.2.2. Các trợ giúp về cú pháp trong quá trình viết mã lệnh

Các quy tắc về cú pháp thường khó nhớ đối với những người mới học lập trình
hay mới sử dụng ngôn ngữ lập trình mới, cho nên, để thuận tiện cho người lập trình,
VBA IDE cung cấp tính năng tự động phát hiện lỗi cú pháp trong quá trình viết mã lệnh.
Tuy nhiên việc kiểm tra tự động này có thể gây khó chịu cho những lập trình viên
chuyên nghiệp, những người rất hiếm khi mắc lỗi cú pháp khi lập trình, cho nên chức
năng này chỉ hoạt động khi được kích hoạt (hình 2.2 trang 19), cách làm như sau:
Chọn Tools/Options/Editor/Code Settings
Hình 2.2. Bật/Tắt trợ giúp phát hiện lỗi cú pháp của VBA IDE
Hình 2.3. VBA IDE tự động kiểm tra lỗi cú pháp và thông báo cho người dùng lỗi đó
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
20
Ý nghĩa của các tùy chọn đáng lưu ý là:
- Tự động kiểm tra lỗi cú pháp (Auto Systax Check): Tùy chọn này cho phép
VBA IDE tự động phát hiện lỗi cú pháp ngay sau khi người dùng kết thúc dòng lệnh
(xuống dòng mới), một hộp thoại thông báo vị trí gây lỗi cũng như nguyên nhân gây lỗi.
Nếu người dùng bỏ qua không sửa ngay thì dòng lệnh có lỗi sẽ được đánh dấu.
- Kiểm tra các biến (Require Variable Declaration): Trong VB, người dùng
có thể sử dụng một biến mà không cần khai báo. Trong trường hợp này biến sẽ được
khởi tạo và nhận một giá trị mặc định. Tuy nhiên, nếu lạm dụng điều này, rất có thể sẽ
làm cho chương trình khó quản lý và dễ nhầm lẫn, vì thế VBA IDE cung cấp tùy chọn
này để cho phép người dùng thiết lập tính năng kiểm soát quá trình khai báo biến. Khi
tùy chọn này được kích hoạt, tất cả các biến đều phải khai báo trước khi sử dụng và
VBA IDE sẽ tự động thêm vào đầu của mỗi mô-đun dòng lệnh “Option Explicit”.
Hình 2.4. VBA IDE tự động thông báo lỗi khi biến được sử dụng mà chưa khai báo
Hình 2.5. Danh sách các thành phần được tự động hiển thị.
Mã lệnh, thông thường là một tập hợp bao gồm các từ khóa, câu lệnh, tên biến
hay toán tử được sắp xếp theo một trật tự nhất định. Tên của các thành phần này có thể
khó nhớ chính xác hoặc quá dài, cho nên VBA IDE đưa ra tính năng này bằng cách hiển
thị những thành phần có thể phù hợp với vị trí dòng lệnh đang soạn thảo trong một danh
sách và sẽ tự động điền vào chương trình theo lựa chọn của người dùng (bấm phím

Tab). Để kích hoạt tính năng này thực hiện:
Trung tâm Tin học ABC giữ bản quyền 
21
- Tự động hiển thị danh sách các thành phần của đối tượng (Auto List Member):
Với tùy chọn này, khi một đối tượng của ứng dụng nền hay của chương trình được gọi ra
để sử dụng thì một danh sách các thành phần của nó (bao gồm các phương thức và thuộc
tính) sẽ được tự động hiển thị để người dùng chọn, sau khi bấm phím Tab, tên của thành
phần này sẽ được tự động điền vào vị trí thích hợp trong dòng lệnh.
- Tự động hiển thị cú pháp cho chương trình con (Auto Quick Info): Với tùy
chọn này, VBA IDE sẽ hiển thị những thông tin về tham số của một hàm hay thủ tục (đã
được xây dựng từ trước) khi người dùng sử dụng nó. Các thông tin này bao gồm tên của
tham số cùng với kiểu của nó.
Hình 2.6. Tự động hiển thị thông tin của các tham số trong chương trình con
giúp kiểm soát được việc lập trình
- Tự động hiển thị giá trị của biến (Auto Data Tips): Với tùy chọn này, trong chế
độ gỡ lỗi (Break mode), giá trị của biến (được gán trong quá trình chạy của chương
trình) sẽ được hiển thị khi người dùng đặt chuột tại vị trí biến.
Ngoài ra, nếu những tính năng trợ giúp trên chưa được kích hoạt, trong quá trình
viết mã lệnh, người dùng có thể kích hoạt tạm thời chúng bằng cách nhấn tổ hợp phím
Ctrl – Space. Cần chú ý rằng, khi danh sách trợ giúp hiện ra, người dùng có thể sử
dụng chuột hoặc phím mũi tên để lựa chọn mục cần sử dụng trong danh sách đó rồi bấm
phím Tab để xác nhận.
2.2.3. Từ khoá trong VBA
Từ khoá là tập hợp các từ cấu thành một ngôn ngữ lập trình. Mỗi ngôn ngữ lập
trình đều có một bộ từ khoá riêng, dưới đây là danh sách các từ khoá trong ngôn ngữ lập
trình VBA:
As For Mid Print String
Binary Friend New Private Then
ByRef Get Next Property Time
ByVal Input Nothing Public To

Date Is Null Resume True
Else Len On Seek WithEvents
Empty Let Option Set
Error Lock Optional Static
False Me ParamArray Step
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo

×