MỤC LỤC
MỤC LỤC 1
CHỮ VIẾT TẮT 5
LỜI NÓI ĐẦU 6
Chương 1: Hệ thống và cài đặt 7
1.1. Một số nội dung liên quan đến hệ thống 7
1.1.1. Điều chỉnh dữ liệu về dạng Việt Pháp 7
1.1.2. Biểu diễn dữ liệu ngày tháng trên trục thời gian 10
1.2. Cài đặt Microsoft Office 11
1.2.1. Nguyên tắc khi cài đặt Microsoft Office 11
1.2.2. Thực hiện cài đặt đầy đủ Microsoft Office 12
1.2.3. Thực hiện cài bổ sung 14
1.2.4. Chú ý khi sử dụng chương trình diệt Virus BKAV sau khi cài 15
Kết luận chương 1 16
Câu hỏi và bài tập chương 1 16
Chương 2: Ngôn ngữ Visual Basic cho ứng dụng 17
2.1. Tổng quan về Visual Basic For Application 17
2.1.1. Khái niệm 17
2.1.2. Sử dụng Visual Basic For Application 17
2.1.3. Đặc điểm của Visual Basic For Application 18
2.1.4. Trình tự xây dựng một dự án bằng Visual Basic For Application 18
2.1.5. Cấu trúc của một dự án Visual Basic For Application 19
2.1.6. Môi trường phát triển tích hợp 20
2.2. Cơ bản về ngôn ngữ lập trình Visual Basic 21
2.2.1. Những qui định về cú pháp 21
2.2.2. Các trợ giúp về cú pháp trong quá trình viết mã lệnh 22
2.2.3. Từ khoá trong VBA 24
2.2.4. Các kiểu dữ liệu cơ bản 25
2.2.5. Khai báo trong Visual Basic For Application 30
2.2.6. Các toán tử và hàm thông dụng 33
2.2.7. Các cấu trúc điều khiển 36
2.2.8. Chương trình con 42
2.2.9. Làm việc với UserForm và các thành phần điều khiển 48
2.2.10. Các hộp thoại thông dụng 58
2.2.11. Các ví dụ cơ bản về thao tác với các tệp và thư mục trong Visual Basic For Application 60
2.2.12. Khởi tạo các biến từ file *.ini 64
2.3. Khả năng mở rộng của các phần mềm trong bộ Microsoft Ofice 65
2.3.1. Macro 65
2.3.2. Hiệu chỉnh macro 73
2.3.3. Vấn đề an toàn khi sử dụng macro 73
2.4. Tùy biến nút lệnh và tổ hợp phím tắt trong các phần mềm Office 74
2.4.1. Tùy biến đối với nút lệnh 74
2.4.2. Thiết lập phím tắt 78
2.4.3. Chèn các lời chú 79
Kết luận chương 2 80
Câu hỏi và bài tập chương 2 80
Chương 3: Các tệp lưu giữ tuỳ biến 81
3.1. Normal.dot trong WinWord 81
3.1.1. Công dụng, vị trí của Normal.dot 81
3.1.2. Một số chức năng tiêu biểu trong Normal.dot 82
3.1.3. Các tệp khởi động tương tự normal.dot 104
3.2. Personal.xls và các tệp hỗ trợ tuỳ biến trong Excel 105
3.2.1. Công dụng, vị trí 105
3.2.2. Add-in 106
Kết luận chương 3 107
Câu hỏi và bài tập chương 3 107
Chương 4: Các xử lý chuyên biệt trong WinWord 108
4.1. Xử lý tự động về định dạng 108
4.1.1. Định dạng theo mẫu có sẵn 108
4.1.2. Định dạng tuỳ biến 117
4.2. Xử lý tự động về tiếng Việt 131
4.2.1. Một số vấn đề bộ gõ, cách gõ và bảng mã 131
4.2.2. Chuyển mã bằng phần mềm 133
4.2.3. Macro chuyển mã toàn bộ văn bản từ TCVN3(ABC) sang UNICODE 134
4.2.4. Nguyên lý chuyển mã văn bản từ bảng này sang bảng khác 135
4.2.5. Sử dụng các nút thiết kế trong module UNICODE 150
Kết luận chương 4 151
Câu hỏi và bài tập chương 4 151
Chương 5: Xử lý hỗn hợp trong WinWord 152
5.1. Xử lý tự động về nội dung ngay lúc gõ 152
5.1.1. AutoCorect 152
5.1.2. AutoText 162
5.2. Xử lý tự động tổng hợp, không nhất thiết ngay lúc gõ 165
5.2.1. Bảng 165
5.2.2. Tạo mục lục tự động 166
5.2.3. Section và số trang 170
5.2.4. Header và Footer 174
5.2.5. Tìm và thay thế 175
5.2.6. Bổ sung, sửa chữa nội dung 189
Kết luận chương 5 199
Câu hỏi và bài tập chương 5 199
Chương 6: CÁC TRƯỜNG TRONG WORD 200
6.1. Căn bản về các trường của Microsoft Word 200
6.1.1. Chèn một trường của Word vào văn bản 200
6.1.2. Khoá chuyển 201
6.2. Những nguyên tắc cơ bản khi làm việc với trường Word 202
6.2.1. Lấy giá trị nhập vào từ người dùng 202
6.2.2. Đặt giá trị cho BookMark không thông qua người dùng 203
6.2.3. Chèn BookMark và kết quả tính toán ra văn bản 204
6.3. Tính toán các trường Word 209
6.3.1. Cú pháp về gõ công thức trong trường formular 209
6.3.2. Các toán tử số 209
6.3.3. Các toán tử so sánh 210
6.3.4. Các hàm 210
6.3.5. Tính toán trong các FormText 214
6.3.6. Tham chiếu vào các ô trong bảng 216
6.3.7. Kiểm tra hoặc trả về nội dung ô trong bảng 219
6.3.8. Tham chiếu nội dung của ô trong bảng từ ngoài bảng 219
6.3.9. Tham chiếu tính tổng hàng và tổng cột từ ngoài bảng 220
6.4. Làm việc với ngày tháng 221
6.4.1. Các loại ngày tháng 221
6.4.2. Định dạng ngày tháng 221
6.4.3. Tự động chèn một ngày quá khứ và tương lai 224
6.4.4. Tính toán qua lại giữa ngày trước và ngày sau 230
6.5. Làm việc với thời gian 235
6.5.1. Tính tổng của 2 giá trị thời gian 236
6.5.2. Tính hiệu của 2 giá trị thời gian 236
6.5.3. Chỉ định thời gian quá khứ hoặc tương lai 237
6.6. Điều khiển vị trí các ký tự thông qua hàm Advanced 239
6.6.1. Công dụng hàm Advanced 239
6.6.2. Cú pháp 240
6.7. Nối kết dữ liệu 240
6.7.1. Kỹ thuật nối kết Object Linking and Embedding 240
6.7.2. Kỹ thuật nối kết Dynamic Linking and Embedding 243
Kết luận chương 6 247
Câu hỏi và bài tập chương 6 248
Chương 7: Các thao tác trong môi trường Excel 249
7.1. Một số nội dung cần thống nhất trước khi làm việc với Excel 249
7.1.1. Tên và công dụng sơ lược của những yếu tố cơ bản trong Excel 249
7.1.2. CSDL Excel 250
7.1.3. Cách thức làm việc với Excel 251
7.2. Nhập nhanh dữ liệu 252
7.2.1. Gõ các tiêu đề của CSDL và nhập dữ liệu 252
7.2.2. Phát triển dữ liệu tự động 252
7.2.3. Nhập dữ liệu đồng thời vào nhiều sheet 257
7.2.4. Nhập công thức 259
7.2.5. Phần sơ cấp và phần thứ cấp của một ô 259
7.2.6. Định dạng theo điều kiện 263
7.3. Kiểm soát nhập dữ liệu 266
7.3.1. Yêu cầu nhập dữ liệu 266
7.3.2. Quy cách dữ liệu 267
7.3.3. Chỉ cho nhập dữ liệu vào những ô định trước 269
7.3.4. Không cho người dùng thực hiện một số công việc đối với bảng tính 270
7.3.5. Hiện và ẩn trong Excel 274
Kết luận chương 7 276
Câu hỏi và bài tập chương 7 276
Chương 8: Thiết lập các công thức cho các ô bị động 277
8.1. Điều khiển kiết xuất dữ liệu bị động Excel 277
8.1.1. Sự phụ thuộc giá trị của thứ cấp bị động 277
8.1.2. Dữ liệu ngày tháng 282
8.1.3. Toán đóng gói 284
8.1.4. Toán vận tải 284
8.1.5. Vùng dữ liệu 285
8.2. Sử dụng tên 288
8.2.1. Đặt tên vùng dữ liệu 288
8.2.2. Đặt tên công thức 289
8.3. Tổng hợp dữ liệu 290
8.3.1. Các hàm thông dụng phục vụ các công việc tổng hợp dữ liệu 290
8.3.2. Chồng dữ liệu 290
8.3.3. PivotTable 291
8.4. Lọc 293
8.4.1. Lọc tự động và nâng cao 293
8.4.2. Hàm xử lọc 295
8.5. Thứ cấp bị động phụ thuộc vào nhiều ô 296
8.5.1. Các ô không liên quan đến nhau 296
8.5.2. Các ô có liên quan với nhau 296
8.6. Xử lý phân nhánh lớn 297
8.6.1. Đặt vấn đề 297
8.6.2. Sử dụng hàm phân nhánh lớn 297
Kết luận chương 8 299
Câu hỏi và bài tập chương 8 299
TÀI LIỆU THAM KHẢO 300
305 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1950 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Giáo trình Xử lý tự động công nghệ thông tin trong văn phòng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Co_Dau
Dim ViTri
‘Cố định ký tự trong danh sách UNI_Co_Dau
ViTri = InStr(UNI_Co_Dau, Ch)
If (ViTri > 0) Then
‘Nếu nó là ký tự thường, chọn ánh xạ của chữ hoa tương ứng trong BangMa
KhongDau1KyTu = ChuKhongDau(ViTri)
Else
‘Nếu nó chỉ là ký tự ANSI (Chữ không dấu) thì hoa lên
KhongDau1KyTu = UCase(Ch)
End If
End Function
Public Sub InUnicode()
Dim ChuoiKQua As String, I
‘Khởi tạo danh sách các ký tự tiếng Việt có dấu (UNI_Co_Daus),
‘67 ký tự có dấu là chữ thường và 67 ký tự có dấu là chữ hoa
‘Nên nhớ là dùng các hàm Function chrW, ký tự &HE1 Unicode
‘được chứa bên trong danh sách này
‘như &HE100 cho 1 chuỗi ký tự
ChuoiKQua = ChuoiKQua & ChrW(&HE1) & ChrW(&HE0) & ChrW(&H1EA3) _
_& ChrW(&HE3) & ChrW(&H1EA1) & ChrW(&H103) & ChrW(&H1EAF) _
_& ChrW(&H1EB1) & ChrW(&H1EB3) & ChrW(&H1EB5) & ChrW(&H1EB7) _
_& ChrW(&HE2) & ChrW(&H1EA5) & ChrW(&H1EA7) & ChrW(&H1EA9) _
_& ChrW(&H1EAB) & ChrW(&H1EAD) & ChrW(&HE9) & ChrW(&HE8) _
_& ChrW(&H1EBB)
ChuoiKQua = ChuoiKQua & ChrW(&H1EBD) & ChrW(&H1EB9) _
_& ChrW(&HEA) & ChrW(&H1EBF) & ChrW(&H1EC1) & ChrW(&H1EC3) _
_& ChrW(&H1EC5) & ChrW(&H1EC7) & ChrW(&HED) & ChrW(&HEC) _
_& ChrW(&H1EC9) & ChrW(&H129) & ChrW(&H1ECB) & ChrW(&HF3) _
_& ChrW(&HF2) & ChrW(&H1ECF) & ChrW(&HF5) & ChrW(&H1ECD) _
_& ChrW(&HF4) & ChrW(&H1ED1)
ChuoiKQua = ChuoiKQua & ChrW(&H1ED3) & ChrW(&H1ED5) _
_& ChrW(&H1ED7) & ChrW(&H1ED9) & ChrW(&H1A1) & ChrW(&H1EDB) _
_& ChrW(&H1EDD) & ChrW(&H1EDF) & ChrW(&H1EE1) & ChrW(&H1EE3) _
_& ChrW(&HFA) & ChrW(&HF9) & ChrW(&H1EE7) & ChrW(&H169) _
_& ChrW(&H1EE5) & ChrW(&H1B0) & ChrW(&H1EE9) & ChrW(&H1EEB) _
_& ChrW(&H1EED) & ChrW(&H1EEF)
ChuoiKQua = ChuoiKQua & ChrW(&H1EF1) & ChrW(&HFD) _
_& ChrW(&H1EF3) & ChrW(&H1EF7) & ChrW(&H1EF9) & ChrW(&H1EF5) _
_& ChrW(&H111) & ChrW(&HC1) & ChrW(&HC0) & ChrW(&H1EA2) _
_& ChrW(&HC3) & ChrW(&H1EA0) & ChrW(&H102) & ChrW(&H1EAE) _
_& ChrW(&H1EB0) & ChrW(&H1EB2) & ChrW(&H1EB4) & ChrW(&H1EB6) _
_& ChrW(&HC2) & ChrW(&H1EA4)
ChuoiKQua = ChuoiKQua & ChrW(&H1EA6) & ChrW(&H1EA8) _
_& ChrW(&H1EAA) & ChrW(&H1EAC) & ChrW(&HC9) & ChrW(&HC8) _
_& ChrW(&H1EBA) & ChrW(&H1EBC) & ChrW(&H1EB8) & ChrW(&HCA) _
_& ChrW(&H1EBE) & ChrW(&H1EC0) & ChrW(&H1EC2) & ChrW(&H1EC4) _
_& ChrW(&H1EC6) & ChrW(&HCD) & ChrW(&HCC) & ChrW(&H1EC8) _
_& ChrW(&H128) & ChrW(&H1ECA)
ChuoiKQua = ChuoiKQua & ChrW(&HD3) & ChrW(&HD2) _
_& ChrW(&H1ECE) & ChrW(&HD5) & ChrW(&H1ECC) & ChrW(&HD4) _
_& ChrW(&H1ED0) & ChrW(&H1ED2) & ChrW(&H1ED4) & ChrW(&H1ED6) _
_& ChrW(&H1ED8) & ChrW(&H1A0) & ChrW(&H1EDA) & ChrW(&H1EDC) _
_& ChrW(&H1EDE) & ChrW(&H1EE0) & ChrW(&H1EE2) & ChrW(&HDA) _
_& ChrW(&HD9) & ChrW(&H1EE6)
ChuoiKQua = ChuoiKQua & ChrW(&H168) & ChrW(&H1EE4) _
_& ChrW(&H1AF) & ChrW(&H1EE8) & ChrW(&H1EEA) & ChrW(&H1EEC) _
_& ChrW(&H1EEE) & ChrW(&H1EF0) & ChrW(&HDD) & ChrW(&H1EF2) _
_& ChrW(&H1EF6) & ChrW(&H1EF8) & ChrW(&H1EF4) & ChrW(&H110)
‘Gắn vào danh sách UNI_Co_Dau
UNI_Co_Dau = ChuoiKQua
Dim ChuKhongDau
‘Khởi tạo mảng chữ không dấu tương ứng
CHUKHONGDAU = ARRAY(“A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”,_
_ “A”, “A”, “A”, “A”, “A”, “A”, “A”, “E”, “E”, “E”, “E”, “E”, “E”, “E”, “E”, “E”,_
_ “E”, “E”, “I”, “I”, “I”, “I”, “I”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”,_
_ “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “U”, “U”, “U”, “U”, “U”, “U”, “U”,_
_ “U”, “U”, “U”, “U”, “Y”, “Y”, “Y”, “Y”, “Y”, “D”, “A”, “A”, “A”, “A”, “A”, “A”,_
_ “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “A”, “E”, “E”, “E”, “E”, “E”,_
_ “E”, “E”, “E”, “E”, “E”, “E”, “I”, “I”, “I”, “I”, “I”, “O”, “O”, “O”, “O”, “O”,_
_ “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “O”, “U”, “U”, “U”,_
_ “U”, “U”, “U”, “U”, “U”, “U”, “U”, “U”, “Y”, “Y”, “Y”, “Y”, “Y”, “D”)
End Sub
Sub BoDau()
'Thủ tục bỏ dấu đoạn văn bản đang lưạ chọn
Selection.Text = KhongDau1Xau(Selection.Text)
End Sub
Sub HoaThuong()
'Chuyển đổi hoa thường đoạn văn bản đã bôi đen
Dim x As Integer
x = Windows.Count
If x = 0 Then
Exit Sub
End If
With Selection.Font
'Nếu tên font có dấu chấm, chỉ việc chuyển đổi sang font chữ hoa/thường
If Left(.Name, 1) = "." Then
If Right(.Name, 1) = "H" Then
.Name = Left(.Name, Len(.Name) - 1)
StatusBar = "Thôi không dùng Font hoa."
Else
.Name =.Name + "H"
StatusBar = "Sang Font hoa."
End If
Else
'trường hợp khác gọi thủ tục xử lý hoa chữ UNICODE
Call HoaUNI
End If
End With
End Sub
4.2.5. Sử dụng các nút thiết kế trong module UNICODE
a) Hoa thường
- Chức năng: Chuyển đổi hoa/thường đoạn văn bản bôi đen.
- Phím tắt đề nghị: Alt+H. Thủ tục: HoaThuong.
VD 10: Chuyển đổi chuỗi "HỌC VIỆN PHÒNG KHÔNG - KHÔNG QUÂN" và "học viện phòng không - không quân" chỉ việc nhấn nút này.
b) Hoa đầu câu
- Chức năng: Chuyển ký tự đầu mỗi câu, thuộc đoạn bôi đen thành chữ hoa.
- Phím tắt đề nghị: Ctrl+A. Thủ tục: HoaTuDongDauCau.
c) Hoa đầu từ
- Chức năng: Chuyển ký tự đầu mỗi từ, thuộc đoạn bôi đen thành chữ hoa.
- Phím tắt đề nghị: Alt+A. Thủ tục: HoaDauTu.
d) Bỏ dấu
- Chức năng: Chuyển các ký tự thuộc đoạn bôi đen thành chữ hoa không dấu.
- Thủ tục: BoDau.
e) ABC chuyển sang UNICODE
- Chức năng: Chuyển các ký tự thuộc đoạn văn bản bôi đen từ font chữ dùng bảng mã và font ABC thành chữ dùng bảng mã và font UNICODE.
- Thủ tục: ABC2UNI.
f) UNICODE chuyển sang ABC
- Chức năng: Chuyển các ký tự thuộc đoạn văn bản bôi đen từ font chữ dùng bảng mã và font UNICODE thành chữ dùng bảng mã và font ABC.
- Thủ tục: UNI2ABC.
g) VNI chuyển sang UNICODE
- Chức năng: Chuyển các ký tự thuộc đoạn văn bản bôi đen từ font chữ dùng bảng mã và font VNI thành chữ dùng bảng mã và font UNICODE.
- Thủ tục: VNI2UNI.
h) UNICODE chuyển sang VNI
- Chức năng: Chuyển các ký tự thuộc đoạn văn bản bôi đen từ font chữ dùng bảng mã và font UNICODE thành chữ dùng bảng mã và font VNI.
- Thủ tục: UNI2VNI.
Kết luận chương 4
Câu hỏi và bài tập chương 4
1. Viết lại các ví dụ trong chương theo phần mềm trong máy tính của đồng chí đang sử dụng.
2. Sử dụng vòng For Each DoHoa In ActiveDocument.Shapes để chuyển đổi những phần chữ trong các đối tượng đồ hoạ Drawing từ ABC sang UNICODE theo mẫu:
With DoHoa
If.HasText = True Then 'Nếu có chữ thì
If.Font.Name=".VnTime" then 'Nếu là font ABC hoặc dùng Left kiểm tra tên font
End If 'Chuyển đổi
End If
End With
3. Sử dụng thuộc tính Selection.Information(wdWithInTable) = True để xác định trỏ thanh đang nằm trong 1 bảng, căn cứ vào hàm mẫu đọc từng ô trong bảng ở ví dụ sử dụng Function RestoreACEntries() trang 158 hãy viết một thủ tục để đọc từng ô trong bảng, tuỳ thuộc vào giá trị trong ô nếu là font TCVN3(ABC) thì chuyển văn bản đó sang font và dùng mã UNICODE.
Chương 5: Xử lý hỗn hợp trong WinWord
Chương này tập trung xử lý nội dung theo các cách tăng tốc gõ tắt, xử lý nhanh, ngoài ra những nội dung thường xuyên nhưng ít được chú trọng như xử lý tổng hợp kèm định dạng. Nếu áp dụng sẽ mang lại hiệu quả rất cao đối với công tác thường xuyên trong văn phòng vì là những nội dung thông thường nhưng với cách thức tiếp cận và sử dụng khác đối với WinWord.
5.1. Xử lý tự động về nội dung ngay lúc gõ
5.1.1. AutoCorect
a) Ngăn nhớ
Hình 5.1. Hộp thoại thiết lập AutoCorrect với thẻ AutoCorrect
WinWord cho phép lưu rất nhiều cụm từ gõ tắt vào các ngăn nhớ, khi cần người dùng chỉ việc gõ:
TênNgăn _
hoặc TênNgăn.
là được nội dung của ngăn.
hoặc TênNgăn,
VD 11:
hoặcTênNgăn DấuCâu
Ngăn nhớ tên là sx có nội dung là sản xuất
TênNgăn ¿
Khi gõ sx. sẽ hiện thành sản xuất.
Các ngăn nhớ AutoCorrect được gọi là tự động sửa lỗi khi người dùng đặt quy ước của mình vào ngăn nhớ. Ngăn nhớ được thiết đặt trong bất cứ phần mềm Microsoft Office nào, ví dụ WinWord, nhưng sau khi đặt xong, đều sử dụng cho các phần mềm Office khác như Excel, PowerPoint, Access...
b) Đặt ngăn nhớ cho các phần mềm Office
Các ngăn nhớ này có thể được đặt trong 2 dạng là:
- Đoạn văn bản thông thường;
- Đoạn văn bản đã định dạng.
Nếu đoạn văn bản cần lưu vào ngăn nhớ có định dạng thì trước khi thực hiện đặt nó vào ngăn nhớ phải bôi đen.
Thực hiện thiết đặt các ngăn nhớ bằng nháy Tools/AutoCorrect để hiện hộp thoại thiết lập AutoCorrect (hình 5.1 trang 152).
Gõ tên ngăn nhớ vào hộp Replace. Tên ngăn bằng chữ nên không dấu, tối thiểu 2 ký tự và không có dấu cách trong tên ngăn, có thể dùng kèm với con số, nhưng ký tự đầu tiên bắt buộc phải là chữ.
- Nếu đoạn văn bản làm nội dung của ngăn đã được định dạng, chọn nút chọn Formatted Text.
- Nếu đoạn văn bản bình thường khác, hãy chọn Plain text.
c) Sử dụng, không sử dụng gõ tắt AutoCorrect
Khi không muốn gõ tắt thực hiện, vào Tools/AutoCorrect để tắt bỏ nút Replace Text as you type (hình 5.1 trang 152).
Điều này thật bất tiện nên ở đây đề xuất phương án là thiết kế một lệnh gán vào phím tắt (F11 chẳng hạn). Khi đó nhấn F11, bật gõ tắt. Nhấn tiếp lần nữa F11, tắt gõ tắt.
Sub BatGoNhanh()
With Autocorrect
‘Nếu gõ tắt đang bật thì
If.ReplaceText = True Then
‘Tắt bỏ hoa đầu câu
.CorrectSentenceCaps = False
‘Tắt thay thế tên ngăn bằng nội dung gõ tắt
.ReplaceText = False
‘thông báo ở thanh trạng thái
StatusBar = abc22uni(“Stop Gõ nhanh.Muốn bật gõ tắt lên, nhấn F11.”)
‘thay đổi thuyết minh tên nút gõ tắt,
‘Ví dụ đặt nút ở thanh menuBar, vị trí thứ 2
‘dùng hàm chuyển đổi abc22uni
CommandBars(“Menu Bar”).Controls(2).TooltipText = abc22uni(“Gõ Nhanh (F11)”)
Else
‘trường hợp khác thiết lập gõ tắt
.CorrectSentenceCaps = True
.ReplaceText = True
‘thông báo ở thanh trạng thái
StatusBar = abc22uni(“Gõ tắt đang sử dụng. Muốn tắt gõ tắt, nhấn F11.”)
‘thay đổi thuyết minh tên nút gõ tắt,
‘Ví dụ đặt nút ở thanh menuBar, vị trí thứ 2
CommandBars(“Menu Bar”).Controls(2).TooltipText =_abc22uni(“Stop Gõ nhanh (F11)”)
End If
End With
End Sub
d) Ngôn ngữ khi dùng AutoCorrect
Khi phần gõ văn bản sử dụng ngôn ngữ khác với ngôn ngữ khi lưu trữ AutoCorrect thì nội dung các ngăn AutoCorrect sẽ phải thiết lập lại. Nếu như tạo các ngăn AutoCorrect ở phần thiết lập ngôn ngữ là tiếng Anh (English), thì khi phần chọn thiết lập là tiếng Việt, tất cả các thiết lập CSDL AutoCorrect sẽ trở về trạng thái AutoCorrect ngầm định.
Điều này thường xảy ra khi copy văn bản từ một tài liệu khác sang tài liệu đang dùng. Để sử dụng các chức năng gõ tắt AutoCorrect, cần bôi đen và đặt lại ngôn ngữ đã thiết lập AutoCorrect. Nếu không đặt đúng ngôn ngữ, không thể tìm thấy nội dung các ngăn nhớ đã đặt trước đó. Giả sử đặt gõ tắt bằng ngôn ngữ English, thì với văn bản thiết đặt ngôn ngữ là Vietnamese, các gõ tắt không sử dụng được.
Hình 5.2. Khi chuyển sang ngôn ngữ Vietnamese, vào Tools/AutoCorrect sẽ thấy tất cả nội dung ngăn AutoCorrect bị xoá sạch
Để thiết lập ngôn ngữ cho phần chọn, chọn Tools/Language/Setlanguage, hộp thoại Language xuất hiện (hình 5.3 trang 155), chọn ngôn ngữ và OK.
Hình 5.3. Hộp thoại thiết lập ngôn ngữ đối với phần chọn
e) Lưu và thay đổi nội dung gõ tắt
Trường hợp nhiều người dùng chung một máy tính, hoặc máy tính làm việc với nhiều mục tiêu khác nhau, cần phải lưu giữ, hoặc đổi nội dung gõ tắt. Thì cần phải vào VBA tạo lập một UserForm tương tự như sau để giải quyết vấn đề này.
Hình 5.4. Thiết lập form để lưu, đổi, xoá CSDL gõ tắt
Bảng 5.1. Thuộc tính cơ bản của Form
Đối tượng
Thuộc tính
Giá trị ban đầu
Ý nghĩa
UserForm
Name
GoTat
Tên form
Caption
Sử dụng gõ tắt theo ý muốn
Tiêu đề form
CommandButton
Name
btnBackup
Nút cất CSDL
Caption
Cất gõ tắt vào tệp
CommandButton
Name
btnRestore
Nút tải CSDL ra thay thế CSDL hiện có
Caption
Đổi gõ tắt từ tệp
CommandButton
Name
btnDelete
Nút xoá bỏ CSDL hiện tại
Caption
Xoá gõ tắt AutoCorrect
CommandButton
Name
btnClose
Nút đóng Form
Caption
Thôi
Label
Name
Label1
Tên nhãn
Caption
Chương trình sẽ cho phép bạn cất những nội dung của AutoCorrect hiện tại vào một tệp. Chọn nút Cất để tạo tệp cơ sở dữ liệu gõ tắt đó, nhớ đặt tên riêng để tiện sử dụng. Chọn nút “Đổi Gõ Tắt” để thay tệp gõ tắt hiện tại bằng tệp Cơ sở dữ liệu gõ tắt có trên đĩa. Chọn nút “Xoá gõ tắt” để bỏ toàn bộ bảng gõ tắt hiện tại.
Nội dung thông báo trên form
Thủ tục khi khởi tạo form:
Option Explicit
‘START LOCALIZATION’
Const StatMsg1 = “Thêm nội dung AutoCorrect thứ: “
Const StatMsg2 = “ trên tổng số “
Const StatMsg3 = “Đang Format...”
Const StatMsg4 = “Đang cất...”
Const TagText = “Tệp CSDL AutoCorrect - Tin học ABC - 0988 529 310”
Const TinABC = “Có thể thêm gõ tắt theo bảng, nhưng đừng thay đổi tiêu đề máy_
_sẽ từ chối thực hiện.”
Const szAppName = “Thay đổi tệp gõ tắt”
Const szErrorMsg = “Có một lỗi. Đồng chí có muốn thử lại không?”
Const szACEntriesErrorMsg = “Đã có một lỗi. Tệp văn bản không phải tệp_
_Format chuẩn.”
Const szWarnMsg = “Chương trình sẽ thay thế nội dung của AutoCorrect hiện_
_tại bằng nội dung gõ tắt của tệp CSDL mới. Đồng chí có muốn tiếp tục nữa không?”
Const szFormatIncorrect = “Văn bản này không phải tệp gõ tắt AutoCorrect,_
xin đóng lại và đổi tệp khác.”
Const szRestoreCompletemsg = “Đã tiến hành thay gõ tắt xong._
_ Đồng chí có thể sử dụng theo gõ tắt mới.”
‘END LOCALIZATION’
Private Sub UserForm_Initialize()
Label1.Caption = abc22uni(Label1.Caption)
btnRestore.Caption = abc22uni(btnRestore.Caption)
btnBackup.Caption = abc22uni(btnBackup.Caption)
btnDelete.Caption = abc22uni(CommandButton1.Caption)
btnClose.Caption = abc22uni(btnClose.Caption)
End Sub
Private Sub btnDelete_Click()
Dim anEntry
Dim MyConfirm
GoTat.Hide
MyConfirm = MsgBox(“Đồng chí có muốn xoá bỏ bảng AutoCorrect_
_hiện tại không? “, vbOKCancel + vbQuestion + vbDefaultButton2)
If MyConfirm = vbOK Then
For Each anEntry In Application.Autocorrect.Entries
anEntry.Delete
Next
MsgBox “Tin học ABC đã tiến hành điều khiển Word xoá xong bảng gõ tắt_
_hiện tại. Nếu đồng chí cần gõ tắt xin tạo tệp gõ tắt rồi chọn chức năng_
_ “”Đổi gõ tắt từ tệp””.”, vbInformation, “Tin học ABC - 0988 529 310”
End If
GoTat.Show
End Sub
‘*********** btnBackup_Click() ******************
‘
‘Giấu Form, tạo một văn bản mới, gọi thực hiện GetAutoCorrectEntries(),
‘thêm vào đoạn “Tệp CSDL AutoCorrect” tại đầu văn bản,
‘và cat văn bản với tên gọi SaveACDoc.
‘
‘Sử dụng biến giá trị y nhưng không làm việc gì cả.
Private Sub btnBackup_Click()
Dim Y As Integer
GoTat.Hide
Application.ScreenUpdating = False
‘Tạo tệp văn bản mới
Application.Documents.Add
‘gọi GetAutoCorrectEntries() mà người sử dụng vừa định nghĩa
Y = GetAutoCorrectEntries()
‘thêm tiêu đề vào đầu văn bản
With Selection
.SplitTable
.TypeText Text:=abc22uni(TagText + Chr(13) + TinABC)
.TypeParagraph
End With
‘thêm format
With ActiveDocument.Sentences(1)
.Bold = True
.Font.Size = 14
End With
'
‘Cất văn bản, gọi SaveACDoc() mà người sử dụng đã định nghĩa,
'và đóng lại nếu thành công
Application.StatusBar = StatMsg4
If SaveACDoc = True Then
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
End If
Application.ScreenUpdating = True
GoTat.Show
End Sub
Private Sub btnClose_Click()
GoTat.Hide
End Sub
'
‘************* btnRestore_Click() **************
‘
‘Thông báo đầu tiên sẽ thay thế nội dung hiện tại của AutoCorrect
‘Nếu người dùng trả lời không thi kết thúc thực hiện công việc.
‘Tiếp đến hiện hộp thoại
‘FileOpen để nhận tên tệp CSDL gõ tắt đã được định nghĩa.
‘(đã tạo bởi nút Cat).
‘Tiếp theo gọi OpenACDoc() để mở tệp. nếu thành công sẽ gọi
‘RestoreACEntries(). Cuối cùng đóng văn bản lại.
‘
Private Sub btnRestore_Click()
Dim ACFileName, Title As String
Dim Style, Response, x As Integer
'
GoTat.Hide
‘Thông báo sẽ thay nội dung...
Style = vbYesNo + vbInformation + vbDefaultButton2 ‘Define buttons.
Title = szAppName
Response = MsgBox(szWarnMsg, Style, Title)
If Response = vbNo Then
‘exit
GoTo bye:
End If
‘nhận tên tệp gõ tắt
With Dialogs(wdDialogFileOpen)
.Display
ACFileName =.Name
End With
'
‘Mở tệp CSDL, gọi OpenACDoc() đã định nghĩa
If OpenACDoc(ACFileName) = True Then ‘error
‘Hiện nội dung, gọi hàm hiện đã được định nghĩa để lấy
x = RestoreACEntries()
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
End If
'
bye:
GoTat.Show
End Sub
'
Function RestoreACEntries()
Dim I, NumRows As Integer
Dim oDoc, oACorrect, oTable As Object
'
Dim szName As String
Dim szValue As String
Dim szRTF As String
'
Err.Clear
On Error GoTo RestoreACEntriesErrors:
‘Kiểm tra format
If ActiveDocument.Words(1) = “Tệp “ Then
Application.ScreenUpdating = False
'
Set oDoc = ActiveDocument
Set oTable = oDoc.Tables(1)
Set oACorrect = Application.Autocorrect.Entries
'
NumRows = ActiveDocument.Tables(1).Rows.Count
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst
Selection.MoveRight Unit:=wdCell, Count:=3
'
For I = 2 To NumRows
szName = Selection.Text
'
Selection.MoveRight Unit:=wdCell
szValue = Selection.Text
'
Selection.MoveRight Unit:=wdCell
szRTF = Selection.Text
'
If szRTF = “False” Then
Application.StatusBar = abc22uni(StatMsg1) & szName
oACorrect.Add Name:=szName, Value:=szValue
Else
Application.StatusBar = abc22uni(StatMsg1) & szName
'
Selection.MoveLeft Unit:=wdCell
oACorrect.AddRichText szName, Selection.Range
Selection.MoveRight Unit:=wdCell
End If
Selection.MoveRight Unit:=wdCell
Next I
Application.ScreenUpdating = True
MsgBox szRestoreCompletemsg,, “Tin học ABC - 0988 529 310”
Else
MsgBox szFormatIncorrect,, “Tin học ABC - 0988 529 310”
End If
'
RestoreACEntriesErrors:
Select Case Err.Number
Case 0:
‘Không lỗi
Case Else
MsgBox (szACEntriesErrorMsg & vbCr & Err.Number & “ “ & Err.Description & “_
_ “ & szName),, “Tin học ABC - 0988 529 310”
End Select
End Function
‘****** GetAutoCorrectEntries() ******
‘
‘Thêm mới nội dung AutoCorrect vào tệp CSDL với nội dung và giá trị
‘hoặc không nếu nó bị format. Tên là phần gõ vào,
‘Giá trị là phần nhận được
‘và RTF là giá trị logic sẽ là True nếu giá trị được format
‘bởi hộp “formatted text”
‘Sau đó chuyển văn bản vào bảng và thêm tiêu đề ở đầu và cuối bảng.
‘
‘biến x được sử dụng để lặp nếu còn nội dung Gotat.
‘TotalACEntries là tổng số nội dung của AC.
'
Private Function GetAutoCorrectEntries()
Dim x As Integer
Dim TotalACEntries As Integer
'
TotalACEntries = Application.Autocorrect.Entries.Count
For x = 1 To TotalACEntries
With Selection
.TypeText Text:=Application.Autocorrect.Entries.Item(x).Name
.TypeText vbTab
'
‘Kiểm tra formatting và chèn chữ RTF nếu cần thiết
If Application.Autocorrect.Entries.Item(x).RichText = True Then
Application.Autocorrect.Entries(x).Apply Range:=Selection.Range
Else
.TypeText Text:=Application.Autocorrect.Entries.Item(x).Value
End If
'
.TypeText vbTab
.TypeText Text:=Application.Autocorrect.Entries.Item(x).RichText
.TypeParagraph
End With
'
‘thông báo ở thanh trạng thái
Application.StatusBar = abc22uni(StatMsg1 & x & StatMsg2 & TotalACEntries)
Next x
‘convert thành một bảng
Application.StatusBar = abc22uni(StatMsg3)
Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
'
Selection.ConvertToTable Separator:=wdSeparateByTabs,_
_Format:=wdTableFormatSimple1, _
ApplyBorders:=False, ApplyShading:=False, ApplyFont:=False,_
ApplyColor:=False, _
ApplyHeadingRows:=False, ApplyLastRow:=False,_
_ApplyFirstColumn:=False, ApplyLastColumn:=False, _
_AutoFit:=True
‘Thêm tiêu đề bảng
With Selection
.MoveUp Unit:=wdLine, Count:=1
.InsertRows 1
.TypeText Text:=abc22uni(“Tên”)
.MoveRight Unit:=wdCell
.TypeText Text:=abc22uni(“Giá trị”)
.MoveRight Unit:=wdCell
.TypeText Text:=”RTF”
.HomeKey Unit:=wdStory
End With
'
‘Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext
‘Selection.InsertBreak Type:=wdPageBreak
'
End Function
Public Function SaveACDoc()
Dim Style, Response As Integer
Dim Title As String
'
SaveACDoc = True
Err.Clear
On Error GoTo SaveACDocErrors
'
ActiveDocument.Save
SaveACDocErrors:
Select Case Err.Number
Case 0:
‘không có lỗi
Case 4198:
‘thôi
SaveACDoc = False
Case Else
Style = vbYesNo + vbCritical + vbDefaultButton2 ‘Định nghĩa nút
'
‘đặt số lỗi và mô tả lên tiêu đề của hộp thoại
Title = Err.Number & “ “ & Err.Description
'
Response = MsgBox(szErrorMsg, Style, Title)
If Response = vbYes Then
Resume ‘hiện lại SaveAs
Else ‘người dùng chọn No.
SaveACDoc = False
End If
End Select
'
End Function
Public Function OpenACDoc(ByVal ACFileOpenName As String) As Boolean
Dim Style As Integer
OpenACDoc = True
Err.Clear
On Error GoTo OpenACDocErrors
'
Documents.Open FileName:=ACFileOpenName
OpenACDocErrors:
If Err.Number 0 Then
OpenACDoc = False
End If
End Function
f) Đặt ngăn gõ tắt ngay trong bộ gõ UNIKEY
Hình 5.5. Đặt gõ tắt trong bộ gõ Unikey
- Ưu điểm hơn AutoCorrect:
+ Gõ tắt được ở bất cứ chỗ nào trong Windows. Copy dễ dàng đi sang máy khác. Còn AutoCorrect thì nếu không thạo sẽ không copy tệp.ACL gõ tắt của mình đè lên gõ tắt của máy khác mới sử dụng được ở máy khác.
+ Sử dụng bất cứ bảng mã nào đều ra kết quả đúng
- Nhược điểm:
Không đặt được nhiều. Không có chức năng đặt đoạn đã định dạng.
- Cách đặt:
Nháy phải Bộ gõ UNIKEY, chọn Soạn bảng gõ tắt.
Bật tắt gõ tắt dạng này: nháy phải Bộ gõ UNIKEY, chọn Bật tính năng gõ tắt.
Chú ý: Khi ngăn gõ tắt của UNIKEY và AutoCorrect trùng nhau ví dụ trong gõ tắt UniKey ngăn sx đặt là tăng gia, còn trong AutoCorrect cũng có ngăn sx đặt là sản xuất nếu đều bật cho phép gõ tắt, thì khi người dùng gõ, máy tính sẽ theo gõ tắt của bộ gõ, nên sẽ được tăng gia.
5.1.2. AutoText
AutoText cho phép đặt tên các ngăn nhớ để lưu văn bản, bảng biểu, sơ đồ, biểu đồ, đồ họa, đồ thị hay dữ liệu tổng hợp (lưu được cả các trường của WinWord).
a)Đặt nhanh AutoText
B1. Bôi đen khối dữ liệu cần đặt.
B2. Alt + F3, hiện hộp thoại (hình 5.6 trang 163). Gõ tên ngăn và nháy OK.
b) Sử dụng
Mỗi khi dùng ngăn nào, nhấn TênNgăn rồi F3
Để kiểm soát các ngăn này, nháy Tools, Autocorrect Options hộp thoại, nháy thẻ AutoText (hình 5.7 trang 163).
Hình 5.6. Hộp thoại tạo ngăn AutoCorrect
Hình 5.7. Hộp thoại AutoCorrect thẻ AutoText
Sử dụng các nút với tên tiếng Anh để thực hiện:
- Add: Thêm vào
- Delete: Xóa
- Insert: Chèn ra
- Preview: Xem trước
- Show ToolBar: Hiện thanh công cụ AutoText
- Show AutoComplete suggestions: Hiện chế độ tự hoàn thiện nội dung.
AutoText sẽ được lưu vào tệp Normal.dot. AutoText không cần phải bật tắt, vì khi sử dụng người dùng đã chủ động qua phím F3 rồi.
Dữ liệu lưu ở dạng AutoText khác với AutoCorrect là có thể chủ động được, đặc biệt AutoText lưu giữ trong ngắn nhớ được các trường Word khi chèn ra AutoText lưu các trường này, kết quả tự thay đổi theo vị trí cập nhật của trường. Còn AutoCorrect thì không lưu được trường (xem chương 6 trang 200).
Bảng 5.2. So sánh một số nội dung khác nhau giữa AutoText và AutoCorrect
Hành động
Dữ liệu được lưu với thể thức
AutoText
AutoCorrect
Lưu vào ngăn nhớ
Bôi đen, Alt + F3, đặt tên ngăn hoặc Tools/AutoCorrect/AutoText Gõ tên ngăn, chọn Add
Tools/AutoCorrect thêm vào, gõ các nội dung, chọn Add.
Chèn ra
Gõ tên ngăn, nhấn F3
Gõ tên ngăn, dùng một dấu phân cách từ (dấu chấm, phảy, cách, enter, tab...)
Vị trí lưu
Trong tệp Normal.dot
Trong tệp.ACL
Công dụng theo ngôn ngữ
Luôn sử dụng được, bất kể ngôn ngữ nào
Không sử dụng được với ngôn ngữ thiết đặt khác
Tự động thay đổi nội dung theo máy tính
Có thể được thông qua trường AutoText
Không thay đổi
c) Tự động thay đổi nội dung theo máy tính
Có thể sử dụng trường có tên AutoText để chèn một nội dung ngăn nhớ AutoText ra vị trí văn bản. Điều này tưởng như không có tác dụng, nhưng nó lại rất thuận lợi khi nội dung của các ngăn nhớ AutoText thay đổi. Giống như chức năng tìm và thay thế, nhưng việc tìm và thay thế gần như là bí mật, âm thầm ngay cả người đọc văn bản nếu không trong cuộc cũng không hề biết.
VD 12: Tất cả các máy tính ở các bộ phận trong đơn vị X có phần tiêu đề văn bản được đặt AutoText là TieuDe. Nhưng nội dung của các phần TieuDe của từng bộ phận là khác nhau như Hậu cần, Kỹ thuật, Hành chính...
Khi sử dụng văn bản có chèn trường AutoText này, copy sang máy khác, nội dung sẽ tự thay đổi theo giá trị AutoText của máy mới.
Cú pháp:
{ AUTOTEXT Tên_Ngăn_AutoText}
(Nhấn Ctrl + F9 để hiện ra dấu móc {} rồi Gõ vào phần tô xám, không Gõ trực tiếp dấu {}, sẽ không thực hiện được).
Trong nghiệp vụ tình báo ở nội dung mã hoá. Ở máy A, ngăn AutoText có tên mbd, gọi máy bay đối phương là Chim_Ưng thì khi hiển thị tại máy A đó, sẽ xuất hiện chữ Chim_Ưng ở vị trí chèn { AUTOTEXT mbd}.
Khi copy văn bản sang máy tính B, mà tại máy B, ngăn AutoText mbd có giá trị là Đại_Bàng thì tất cả những chỗ dùng trường { AUTOTEXT mbd} sẽ tự đổi và hiển thị lên chữ Đại_Bàng.
Đặc biệt có thể đặt tên hoặc đặt giá trị của các ngăn AutoText là những con số, (như đặt tên ngăn 2 là số 1, ngăn 3 là số 2...) thì khi tài liệu bị rơi vào tay đối phương nếu không có tên AutoText hoặc có nhưng không đúng thì đối phương cũng không có được tài liệu chính xác với những nội dung và con số đó được.
d) Spike
Spike là một ngăn AutoText đặc biệt được đặt tên ngầm định sẵn của WinWord để có thể sử dụng thông qua các phím tắt. Spike là một vùng nằm trên đĩa, trong tệp normal.dot nên tồn tại ngay cả khi tắt máy. Có nghĩa là mỗi ngày có thể đưa vào Spike 1 ít
Các file đính kèm theo tài liệu này:
xulytudong2010_net_4473.doc