Giáo trình Xử lý tự động công nghệ thông tin trong văn phòng

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

 

 

doc305 trang | Chia sẻ: maiphuongdc | Lượt xem: 1762 | Lượt tải: 4download
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:

  • docxulytudong2010_net_4473.doc