Chú ý:
!"#"$% &%'(
)"$% *"#&%'
+,(*-
./,) 0 12345444
6 45 "7
89%6:0$0;<"
=4786:0$0>(?9
4,?@?(*AB/
789C /D*
) / <$( " E
FG0( 9E#H6I?DJ
#7
KLMN-OPN'OQN8ORNS8ORNKLMN
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
KLMN-OPN'OQN8ORNS8ORNKLMN
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
T"U,V6:"W*
X0O,%'Y9S89Z .[
HÀ NỘI - 2010
TK D?06V\\\\\(\\77(\77(@]^^
X0VO,%'Y9S89Z .[
Tác giả
Chủ biên: KS Nguyễn Anh Cường
_!?0-N__SO,%'Y9S89Z .
_!8` _ ._,aF-
40 b07
^Bcc7d]B7ef^
Người sửa chữa, hiệu đính:
Nguyễn Phương Thảo
V_ ._,aF-
-:0!fgc&h_i0&jSON
_0WG06k3lON
500?b07
^Bf]7mnc7dfd
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
]
CHỮ VIẾT TẮT
↵
14
F F+
F8a& F80a& 6
-N__ -9%9
-oG -4o?p4G"4
-qrs -h6!"$%
rr1 r0s0"1?4""
tr1 t404"r44414
os1 o?p4s0"1?4""
&F &6 0F06
&Fa &6 0F06Aa0
&r &*"W
&q_o &6 0q "_65o554
uu" G65u"
vGs 1>46?4G0 s0 04
Trung tâm Tin học ABC giữ bản quyền
e
LỜI NÓI ĐẦU
N < w"W9%9,(w "#X0
O,% 9+7&%6:"W-N__9@Y%x
> (w%/w < 0=(% Z (*>Y
? #(<D+(6. (w /0% Z (
E?%y>:z7{/wDx < =(|Xử lý tự
động công nghệ thông tin trong văn phòng}?6#/WW%W
#j.9%9(~x% 0,V
H%C•?X0<>:z(#>."/
w"W-N__9@Y7
_% |Xử lý tự động công nghệ thông tin trong văn phòng}?6#
"0h6!€(V" X0$% "D ?i
a(% $??<G65o554%=t44
$% > ?7N" X 6. $Z 0
>:z@YG65u"(G651>4V("$% (!
46]^^e(]^^n60 06:"WO,%(U+ <
" (h#.9%97
FVWX0% ~ch2
S-hf2O%VE•
S-h]2N9$&6 0F06w"W•
S-he2-% $ ‚?•
S-hg2->:z ?%u"•
S-hd2v:zJu"•
S-hm2-xu"•
S-hn2-09x1>4•
S-hc2_9w9?D1>47
_% "U+#.9%9+$,
6:"W9%99@Y•WW"X0O,%(
~xj*((, V
%?0%$ ((% 7
_% ?6#<< (CC6I9ƒ$606=(
6==zX0?#,/<?60 )h7
v.,h„
Tác giả
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
g
Chương 1:
Hệ thống và cài đặt
-h?)%V4 …&%N0%
E/" >:z*"WX0$h60 %
%H7&%>D"$% &%'H>:z$
Z 0"$% 9"W9CJ7&%E<X†
"W,@X0G65o554~xC•<F
80a& 6/9ƒ07
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
rU/V"$% % H+Z D&%N07N 9
)("$% 6I>:z9H(T*"W% j9#
i[*9%</0< 6:"W*7
b) Một số quy định về dữ liệu dạng Việt Pháp
S&6V2
‡q:"W" /@=e6V(9D(% ()777
‡q:"W" /@V+D< <.7
‡q:"W" iTS[z% 6V.E!+<DX06V7
S&%2
‡K D46V7
‡8z% )hD%w60 <$6V7
S&x02
‡K D4/wˆˆ@7
Bảng 1.1. Định dạng Việt Pháp và Anh Mỹ
qV
&4D"#
&%' aG`
f^^^fˆg f7^^^(]d f(^^^7]d
Nf^e@]^f^ f^ˆeˆ]^f^ eˆf^ˆ]^f^
f^^^^^^^9 f^7^^^7^^^‰ ‰f^(^^^(^^^
f]e"+^ Sf]e
o
- Tf]e
o
-[
{hD4% G4T†[ L7qT[
c) Cách điều chỉnh
F^7&-'047TStart/Control Panel[
Ff7&Regional And Language Options(#%07Tf7f0
d[,HCustomize777{ )<gl~N ?4(- 4(_4(r04(
l+j(4Z DD"#&%'4ITi
f7]f7d[60 =,ApplyOK7
Chú ý: S8%+<(6:"WD"#&%'7
S8%(?Š&Fa(6:"WD"#aG`7
S8"$% 6V(9D"#(/o554D"#H7
Trung tâm Tin học ABC giữ bản quyền
d
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
m
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
n
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
8x0<D
N"
f
N"
]
fB^^ O90 ]^nc
qV
Hình 1.6. Sơ đồ mô tả vị trí từng thời điểm trên trục thời gian
S_4<D(*Z DWx0?C< i@fB^^
H!@]^nc78x0=/ )U+
@*X0J"#?7&%"$% @]
6V(*6I/ ?€6 06V/D
@78@BB*/ @fBBB7N@ff(*
@]^ff7_ @e^=/*@fBe^(
*@]^e^7_f7d0n<-04"0=/ )
x0Z D/*H+zD7GJx/
T[f/Wx07
S_4Z D$w60 T"
]
[lớn hơn
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
c
w+T"
f
[7N"
]
i"
f
6I6V7_h<
"
f
+6V6I"
]
7
SN$Z DZ 0((x0$"$
% Z 0,>:zZ 0$9%@Y7
b) Những điều suy ra từ trục thời gian
GJ@=emd(]dT&9x(g@6If@
=)6V(]d[ V*6V@T
[
i6VT
"
[=/6:
"W9w2
emd(]d
"
=
Tf7^[
&6V@x*6V ( VY6V 6:
"W9w2
[
emd(]d
T
"
INT
=
Tf7^[
_=tN_"U/ /Z ?/ wV6VX0=
6V 7O02
[
emd(]d
"S"
T
f]
INT
=
Tf7^[
_="
]
60 ("
f
+7
N0=/6V"X0†09Z 0GorT
1>4[E†*Gor&Fa7
_1>46I42
‹ŒGorTa
>
•F
>
[ Tf7^[
_&Fa6I4 9"#2
‹Œa
>
GorF
>
Tf7^[
_=2
‹28Z <*6V"7
a
>
2F/ w6V?D07
F
>
2F/ w6V07
1.2. Cài đặt Microsoft Office
1.2.1. Nguyên tắc khi cài đặt Microsoft Office
{/%+>:z(G65o554 9E<X(
9?ƒw@#i*7&%E<D6I
9w(0,6I (9WW>:z
7
8=J>0(%9?|Compile error in Hidden
Module}%2
S-E?€6 o554w@7
SF€6 %XW&Fa7
S896:"Ww@>0X0h"% 6F8a&T
6:"W<"% 6[7
Trung tâm Tin học ABC giữ bản quyền
B
1.2.2. Thực hiện cài đặt đầy đủ Microsoft Office
-#EVV+?w<E(
,E(,- 63 aAG- 47
&rf2-G65o554]^^e(#%q1_L'71v1W ~
E7-=/6k9U•o6ŽX0%q1_L'7tNt(
o5546I9<()%,N4>7
TThườ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
f^
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
G65o5546I%E((0,
46?0< (x%#=HFinish(Z
E+7
Trung tâm Tin học ABC giữ bản quyền
ff
Hình 1.13. Hộp thoại báo cài xong
_x9EA 6IE9?0<
?‚X0G65o554(*"Wxuu"2
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)
'E<X/?€6 <Y 7
1.2.3. Thực hiện cài bổ sung
FŠ##%E?oAAt-1T64 74>4[(%#
,I2
Hình 1.15. Chọn “Add or Remove Features” để cài bổ sung Office
-?+Y#X0?€6 6I/D#i#f7ff0f^7
N E?€6 A (•?J|Compile error in
Hidden Module}"$%?€6 Y0("<E
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
f]
+0<X(%%?Š0G65o554
T&*"Wuu"[60 2
Ff7&&Fa?ŠAlt + F117
F]7 -,Tools/References777" %<6:"WV/
,%f7fm0f]7
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
fe
chức năng xử lý tự động, khi chọn “Xoá tất cả Macro”
_Z >:z(%X +07-0
+?w<"% 6j9=(#i<"%
6F0a& 6TF8a&[6I>0 " W|v
0}7F8a&h"% 6" +x/(9
.?% 6+07-/$60<(
96:"Wh"%& 6F8a&71v1*=
"Uw@>:z7
Kết luận chương 1
-hE"U) Z 0 )(E<X
?€6 G65o554=0Y+(=,>:
z!$h60 7-<CC$" X0h
/$J7
_= "#Z 0x0CC
Z DX0*x0/00$ (h>:zV
+x0z7N$<•" 6I!+V+
" <00(*= Z + < >:z7
Câu hỏi và bài tập chương 1
^7{D"#"$% / &%'aG`=E/V0 (
0 •
f78Df^^^f91>4=e(,H
(*#60•
0[N|f7^^^} ?[N|f(^^^} [N|f^^^}
]7_% )"$% "#&%'V+%
u"‘6&60(u"‘6n777E% +hT =[7
e7_%EA ?G65o554]^^n(G65o554
]^f^E460h7
g7’*(@91>4(
1>4w|((@}( CW777
d7vD /6V%#7
m7vD / VUX0?‚7
n78xa6fˆgxF6e^ˆg(
Z 0%6X0xF+h6X0xaH060(
60•
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
fg
Chương 2:
Ngôn ngữ Visual Basic cho ứng dụng
{/%% Z V+9@Y9Z 0<
%Yƒ6:"W#Y0/ C•?X0
0%7_<= ?<G65o554
=( †x"U=@U?/((?€
6 ( )$w@X0<7&%0€H%0
6:"W#0#$Z 0=7-h
+% $wh?&6 0F06Aa0/
?€6 w@+o5547
2.1. Tổng quan về Visual Basic For Application
2.1.1. Khái niệm
G6V<†x"U=/<%6. ?
=?Š9W(/=/Z ?6x
<9/"+78x"U>."$
h"0$w"W4 H!(,6I
"W$@6k=X0H/(H%0
% Z h 6+9x(=/,H
w"W(/6:"W w"W,
@Yu"1>4(%U+D"#% @Y
T@??*[HY†x"U>."h#
U+W*?€6 w@ ?%7
G<,w"Wƒ0~x *2
S-†h#?U+=Th%[7
S-†6:"W*@X0=9Z 09W*7
SG%+0w@+>."w"W
h)((/>."=<=9W
hw7_9x9W/ ?0~2
‡N9$7
‡G9x7
‡_%J7
_G65o554J9W2
‡&FaT&6 0F06Aa0)
‡&q_oT&6 0q "_65o554[
2.1.2. Sử dụng Visual Basic For Application
GJ9W 9=$E/==/>†
0hE†h€Z 7r=(/0,9W
*w"W(<"0W*W/7_y
>:z9@Y(< ?+h?
Z (Y ?( 9+9Z w#(
0"#=Z (• <%7N#w
Trung tâm Tin học ABC giữ bản quyền
fd
"WX0w"W+=*% Z 07&+Z 9X0
?(%0,&Fa9WU2
SN9$&6 0F06T&F[#9$"“6:"W(=6V
x"U9% 0H(%0€`
@(% ( ~"“"7
SG9x.%("“"U<X%>."w
"W6I09<9W7
S_w"WJ&6 0F06Aa0T&Fa[(0
"%~("=x"U=/! w
"W 7
S_%= 0"#x"U=/>."
w"WX00 %7
S_VX0h07
S80< *@6k=X0w"W7
S-h&Fa=/H%X0w"WT”#
%?*X01>40%@?X0u"[E=/ "+"#
"7{ H%.V(06l% %7
2.1.3. Đặc điểm của Visual Basic For Application
_iE/h?.*<(=/Š&Fa
9W†/0<*
w"W7&(&Fa>.""0H-oG(
x"U=/6:"W<6k=X0w"W%>.
"hX0+&Fa7
_i$0?0< =/#/>.""
?%7_% 96. >.""(6IZ /,
C=//4iW 60 7
G">."?Š&Fa"0w"W=W
EIw"W=(?!4ED("&Fa6I#6:
"W<*w"W=7{ =y0==/
/€"&Fai#w"W60w"W
j#0w"W#7
q?%h?X0&Faw"WT*"W$0&Fa
a -ar&Fa1>4[w6:"W<TV[
X0w"W7->."w"W?Š&Fa(C•9V
X0w"W6:"WH=/6:"W0/6
%V+V7
2.1.4. Trình tự xây dựng một dự án bằng Visual Basic For Application
&E%(%>.""&Fa?0~?+60 2
Ff7vD• < >."h7N < >D
"0#X0x"Ux"*x"U> 7{.
?+>Dw@X0h7
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
fm
F]7vD•W h<#(<W/=0X0
?+f( ?+f= < %" V(?+]6I
W/w%T. [7
Fe7s0,w"W9WU%>."
h7&*"W+ < *Z 0x0(w"W*
&Fa(ExX0u"7_U4ww#X0?0,
9WU7’.&Fa?6 %%>."
9S *V+$?Z 0x09x7
Fg7_%VhT0"[2?0~%6h~
V(>D9S X0h(0"%> "$%
Z (>."%Vh6!"$% 60ƒ0$> !?+f]7
Fd7-oGT-4o?p4G"4[2H
?!G657GW*X09%#0 …9%
(!=†>."h49C†06:"W#
6…%i+4 …-oG7
Fm7&%T[2%6:"W9W/#0h
U+%V!?+g7
Fn78/:h29#% …?D0h
6:"W7
N$9%*X0?+?0~2
S8/0>4w@X0hƒ0 < 0
i+0?Š#:*@X0h"0
D?W/7
S8/0% @X0h2>4x0%Z 6:
"Wh=z97
S8/0@D JX0h(6V% 607G
h?@D J=6I9?D"i#"J0
X0x"U0"$% 607
Fc7{==(0h6:"W2?0~%>."%
+"•E6:"WhŠW*Hx"U=//
0h7
FB7_=z(~X0x"U/?€6 0%
$ X0hZ %V0/:
?ƒZ 0E0%7
Ff^7N.h260 x06:"W("0$
~X0x"U( Šh<?€6 $*@+
x/<6I%6?€6 "0$<
=i+7
2.1.5. Cấu trúc của một dự án Visual Basic For Application
G"&Fa= Hh60 2
SG9S …TG" 4[2Nhw0%0?(h
Trung tâm Tin học ABC giữ bản quyền
fn
TXW[7&%#09S …x@w4Vw
@E0>."%V7
SG9S +T-066G" 4[2Nhw0Dy0+X0"7
SL64520"%"##H%0$0x6:
"Wh %7_9x6:"WL645/6V% (
> Z X0h7_ x( %6V% >
Z %w"W9<6:"WL6457
N$<? /x"U>."h(
%00"%h7G9S +L64A0
<=/=E9U i"$<
/D:06€'p41>4X00"%X0&Fatr17
8hT%[W/ HX0hx
6?V*(6C>. %h=78% H
W i#9$7{V+9$&6 0F06
T&F[( H) hTXW[9=
Z D HV+h*7
2.1.6. Môi trường phát triển tích hợp
_J9Ww"W( 9=9x
ŠJx"U=/>."(:%%h
X07_<o554(6:"W&Fa/(9x
,Môi trường phát triển tích hợp T&Fatr1[7_w"W
(&Fatr1= H#hh0 +0"%h?
]7f,0"%&Fatr1iw"W60 2
S'*C2_i0"%*X0w"W(€*Alt+F117
SG4 2NTools/Macro/Visual Basic Editor T]7f0fc[
S_0hTG4 ?0[2w00,</0+
&Fatr1
S-:06€"T'p41>4u"‘[2%"+"#..
"%0!&Fatr1<=i"
% <(9S w0h(9S +(:06€
"x"U#7
&%<+"%4
t64X0&Fatr17&*"W V9S …"(,
Insert/Module7
S-:06€%T-"4u"‘[2J<%:06€"
=:06€%(w0%<=7Nx"U=
/% )%(#0%+:06€%7
S-:06€0w VTo?p4F‘64u"‘[2/D+(h
w( *(6%Š6V=%V"
x"Ui0#7
Biên soạn: Nguyễn Anh Cường - Nguyễn Phương Thảo
fc
Hình 2.1. Giao diện chính của VBA IDE
S-=/6:"W:06€/(0w Vi0#0
jVh7
S-:06€VZ 0T&6 0o?p4u"‘[2x"U#
VZ 0:06€6I†x"U0 /
"“" %7
SO9Ww0 /T_F>[2w009WHx
"U=/; /:06€x"UTL64A[7
S-:06€ *T'446u"‘[2:06€% *
X0V(Z 0=x"U=/00€ *<
$(V\
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
-H/ ?0~Z C( %
wX0. %0 H%7
_9$&6 0F06T&F[(j9$
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
fB
( =$Z DH%%x<
.4Z C/?"D=/"D%96
J7q0 .Z Dh?HX0&F2
S-. %"Y?%7N = %U"Y
$0%@0 ?Š" 0T2[7N "Y%Z "( V
C%0"Y6:"" " #"+T•[7
SN V;H(?C< "YH*?Š" hT–[7
SK +E2?C< ?Š*/ $9x•9
w0" (" 0zE?%•9Z ]dd*•9U
+i•?=U#9EU0 7
2.2.2. Các trợ giúp về cú pháp trong quá trình viết mã lệnh
-Z CHx=+V+$x+,
0+6:"W9$+((/ %x(
&Fatr1 *@%JHZ %7
_ %/0=/.=D $
%($xCJH(w
@)#*#T]7]0fB[(60 2
-,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
]^
—y0X0U, z2
S_/0JHTAuto Systax Check[: _U,†
&Fatr1%JH060 x"UH"Y%
T> V"Y+[(#9?D*.Jj ..J7
N x"U?ƒZ 096:00"Y%=J6I" 7
S8/0?TRequire Variable Declaration[2_&F(x"U
=/6:"W?9<0?7_x?6I
!#DED7_ ( #"W (=/6I
h=Z z"“<•(&Fatr1 U,
/†x"U*@/6Z 0??78
U,*#(? 0?+6:"W
&Fatr16I< X0J9S "Y%|o1>}7
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ị.
G%(9x?0~i=0(. %(?
0:6C>4D7_X0<=/
=+*>EZ "(&Fatr100*@?Š/
D$<=/U+D*"Y%06#"0
66Ih40,X0x"UT?*
_0?[7{/*#*@%2
Trung tâm Tin học ABC giữ bản quyền
]f
S_/D"06<X0VTa s6G4?4[2
&+U,(VX0w"W0X0h,0
/6:"W"06<X0=T?0~hw
*[6I/D/x"U,(60 ?*_0?(X0
<6ID**"Y%7
S_/DHhTa K t5[2&+U
,(&Fatr16I/D$906VX00XWT
>."i+[x"U6:"W=7-9?0~X0
06VU+/ X0=7
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
S_/DDX0?Ta r00_6[2&+U,(
˜JTF40"4[(DX0?TZ #X0h
[6I/Dx"UE #D*?7
N0( $*@H0*#(Z
%(x"U=/*##xH?Š€*
Ctrl – Space7-<HzŠ("06H%0(x"U=/6:
"W E*j/0,W<6:"W"06=~?
*Tab />7
2.2.3. Từ khoá trong VBA
_ii 9$7GJ9$
=?i("+."06i9$
&Fa2
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