Tải bản đầy đủ (.pdf) (918 trang)

Lập trình Microsoft Outlook 2007 Sách “vỡ lòng” dành cho quản trị viên và người dùng thành thạo

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 (8.74 MB, 918 trang )

LẬP TRÌNH
MICROSOFT®
OUTLOOK
2007
Sách “vỡ lịng” dành cho quản trị viên và
người dùng thành thạo


Lập trình Microsoft® Outlook 2007:
Sách “vỡ lịng” dành cho quản trị viên và
người dùng thành thạo


Lập trình Microsoft® Outlook 2007:
Sách “vỡ lịng” dành cho quản trị viên và
người dùng thành thạo

Tác giả: Sue Mosher


Mục lục
Lời đầu ...........................................................................................................................................ix
Lời cảm ơn ................................................................................................................................... xii
Bạn có thể làm gì với Outlook 2007 ...............................................................................................1
1.1 Tại sao bạn nên lập trình Outlook ....................................................................................................................... 2
1.2 Những cơng cụ lập trình Outlook ........................................................................................................................ 2
1.2 Nên bắt đầu lập trình Outlook từ đâu ................................................................................................................ 11
1.3 Những thành phần lập trình Outlook quan trọng............................................................................................... 13
1.4 Hiển thị câu lệnh dành cho lập trình viên.......................................................................................................... 14
1.5 Tóm tắt .............................................................................................................................................................. 15


Mơi trường thiết kế của VBA .......................................................................................................17
2.1 VBA: Kiến thức cơ bản ..................................................................................................................................... 17
2.2 Cửa sổ VBA ...................................................................................................................................................... 21
2.3 Tìm trợ giúp trong VBA.................................................................................................................................... 28
2.4 Làm việc với dự án VBA .................................................................................................................................. 29
2.5 Tổng kết ............................................................................................................................................................ 33

Xây dựng biểu mẫu VBA đầu tiên ...............................................................................................35
3.1 Tìm hiểu về ngày sinh và ngày kỷ niệm trong Outlook .................................................................................... 35
3.2 Bước 1: Bạn cần những control nào? ................................................................................................................ 36
3.3 Bước 2: Tạo biểu mẫu ....................................................................................................................................... 38
3.4 Bước 3: Thêm control người dùng nhập ........................................................................................................... 41
3.5 Bước 4: Thêm nút lệnh...................................................................................................................................... 43
3.6 Bước 5: Lập kế hoạch cho bước phát triển tiếp theo ......................................................................................... 50
3.7 Tìm hiểu thêm về những control của biểu mẫu VBA ....................................................................................... 51
3.8 Tổng kết ............................................................................................................................................................ 62

Giới thiệu Biểu mẫu trong Outlook .............................................................................................63
4.1 Tìm hiểu hai loại biểu mẫu tùy biến .................................................................................................................. 64
4.4 Khi nào thì nên sử dụng biểu mẫu và sử dụng biểu mẫu nào ............................................................................ 81
4.5 Làm việc với trình thiết kế biểu mẫu ................................................................................................................ 84
4.7 Tạo biểu mẫu liên hệ tùy biến đầu tiên ............................................................................................................. 88
4.8 Tổng kết .......................................................................................................................................................... 103

Giới thiệu Vùng biểu mẫu (Form Region) ................................................................................104
5.1 Tìm hiểu về vùng biểu mẫu ............................................................................................................................. 104
5.2 Những control dùng cho vùng biểu mẫu ......................................................................................................... 106
5.3 Tạo vùng biểu mẫu đầu tiên ............................................................................................................................ 109
5.4 Đăng ký và triển khai vùng biểu mẫu ............................................................................................................. 113
5.5 Những hạn chế của vùng biểu mẫu ................................................................................................................. 120



5.6 Những ý tưởng khác cho vùng biểu mẫu ........................................................................................................ 121
5.7 Tổng kết .......................................................................................................................................................... 121

Mở rộng thiết kế biểu mẫu với trường và control .....................................................................123
6.1 Tìm hiểu về trường và control ......................................................................................................................... 124
6.2 Tạo trường do người dùng tự định nghĩa ........................................................................................................ 125
6.3 Thêm, xóa bỏ trường trên biểu mẫu của Outlook............................................................................................ 134
6.4 Sử dụng control trên biểu mẫu ........................................................................................................................ 141
6.5 Trình bày bố cục của trang tạo email và trang đọc email ................................................................................ 152
6.6 Tổng kết .......................................................................................................................................................... 154

Kiến thức cơ bản về code trong Outlook ...................................................................................156
7.1 Tìm hiểu về thời điểm chạy code VBA ........................................................................................................... 156
7.2 Viết mã VBA .................................................................................................................................................. 168
7.3 Viết mã VBScript dùng cho biểu mẫu của Outlook ........................................................................................ 175
7.4 Tham chiếu đến thuộc tính của item trong Outlook ........................................................................................ 186
7.5 Viết macro khác để tự động hóa Outlook........................................................................................................ 189
7.6 Tổng kết .......................................................................................................................................................... 194

Kiến thức cơ bản về ngữ pháp lập trình ....................................................................................196
8.1 Option Explicit ................................................................................................................................................ 196
8.2 Khai báo biến và hằng số ................................................................................................................................ 199
8.3 Viết thủ tục ...................................................................................................................................................... 208
8.4 Làm việc với biểu thức và hàm ....................................................................................................................... 220
8.5 Làm việc với chuỗi.......................................................................................................................................... 223
8.6 Làm việc với ngày và thời gian ....................................................................................................................... 229
8.7 Mảng, từ điển, hàm Split và hàm Join ............................................................................................................. 240
8.8 Kiểm sốt dịng chương trình .......................................................................................................................... 248

8.9 Cung cấp thơng tin phản hồi ........................................................................................................................... 263
8.10 Lấy dữ liệu đầu vào của người dùng ............................................................................................................. 271
8.11 Làm việc với tập tin và nhiều đối tượng khác ............................................................................................... 281
8.12 Tổng kết ........................................................................................................................................................ 291

Xử lý, chạy thử và gỡ lỗi.............................................................................................................293
9.1 Tìm hiểu về lỗi ................................................................................................................................................ 293
9.2 Chạy thử và gỡ lỗi trong VBA ........................................................................................................................ 303
9.3 Gỡ lỗi VBScript trong biểu mẫu của Outlook ................................................................................................. 311
9.4 Tổng kết .......................................................................................................................................................... 323

Kiến thức cơ bản về lập trình Outlook.......................................................................................324
10.1 Giới thiệu mơ hình đối tượng của Outlook ................................................................................................... 324
10.2 Kỹ thuật viết code cho đối tượng và tập hợp trong Outlook ......................................................................... 331
10.3 Tìm hiểu về bảo mật trong Outlook .............................................................................................................. 340
10.4 Tổng kết ........................................................................................................................................................ 351

Phản hồi sự kiện của Outlook trong VBA.................................................................................353
11.1 Sự kiện của đối tượng Application ................................................................................................................ 354


11.2 Lập trình cho những sự kiện khác của đối tượng .......................................................................................... 373
11.4 Những sự kiện của đối tượng Inspectors và Inspector .................................................................................. 384
11.5 Những sự kiện của tập hợp Folders, đối tượng Folder và tập hợp Items....................................................... 389
11.7 Sự kiện Application.Reminder và những sự kiện của tập hợp Reminders .................................................... 405
11.8 Tổng kết ........................................................................................................................................................ 422

Lập trình những kịch bản quan trọng cho biểu mẫu tùy biến .................................................423
12.1 Làm việc với các sự kiện của item trong Outlook ......................................................................................... 424
12.2 Phản hồi dữ liệu đầu vào của người dùng trên biểu mẫu .............................................................................. 431

12.3 Xử lý những vấn đề liên quan đến trạng thái của biểu mẫu và control ......................................................... 449
12.4 Tổng kết ........................................................................................................................................................ 461

Làm việc với Store, Explorer và Thư mục .................................................................................462
13.1 Khái niệm về store thông tin ......................................................................................................................... 462
13.2 Những kỹ thuật xử lý store thông tin ............................................................................................................ 464
13.3 Làm việc với tập hợp Explorers .................................................................................................................... 473
13.4 Truy cập thư mục .......................................................................................................................................... 476
13.5 Làm việc với nhiều thư mục.......................................................................................................................... 503
13.6 Tổng kết ........................................................................................................................................................ 513

Sử dụng PropertyAccessor và StorageItem ...............................................................................514
14.1 Dùng đối tượng PropertyAccessor ................................................................................................................ 515
14.2 Dùng đối tượng StorageItem ......................................................................................................................... 530
14.3 Tổng kết ........................................................................................................................................................ 536

Làm việc với Inspector và Item ..................................................................................................537
15.1 Làm việc với Inspector.................................................................................................................................. 538
15.2 Tạo item ........................................................................................................................................................ 540
15.3 Truy cập item ................................................................................................................................................ 549
15.4 Dùng đối tượng Table ................................................................................................................................... 562
15.5 Sử dụng các phương thức của đối tượng Item............................................................................................... 574
15.6 Tổng kết ........................................................................................................................................................ 581

Tìm kiếm item trong Outlook .....................................................................................................583
16.1 Giới thiệu các phương pháp tìm kiếm của Outlook ...................................................................................... 584
16.2 Xây dựng chuỗi tìm kiếm .............................................................................................................................. 586
16.3 Dùng phương thức Items.Find và phương thức Items.Restrict ..................................................................... 607
16.4 Sử dụng các kỹ thuật tìm kiếm bằng đối tượng Table ................................................................................... 613
16.5 Dùng phương thức Explorer.Search .............................................................................................................. 615

16.6 Dùng phương thức Application.AdvancedSearch ......................................................................................... 620
16.7 Tổng kết ........................................................................................................................................................ 634

Làm việc với phần thân của item ...............................................................................................636
17.1 Những kỹ thuật cơ bản khi làm việc với phần thân của item ........................................................................ 636
17.2 Phân tách văn bản từ phần thân của email .................................................................................................... 638
17.3 Thêm văn bản vào item ................................................................................................................................. 641
17.4 Tạo email có định dạng ................................................................................................................................. 645


17.5 Sử dụng WordEditor ..................................................................................................................................... 650
17.6 Làm việc với chữ ký trong Outlook .............................................................................................................. 661
17.7 Tổng kết ........................................................................................................................................................ 667

Làm việc với Người nhận và Danh sách địa chỉ .......................................................................668
18.1 Những đối tượng quan trọng liên quan đến người nhận và danh sách địa chỉ .............................................. 669
18.2 Tìm hiểu về danh sách địa chỉ ....................................................................................................................... 670
18.4 Đọc thông tin từ đối tượng Recipient và đối tượng AddressEntry ................................................................ 687
18.5 Đọc thông tin về tình trạng rảnh/bận ............................................................................................................. 691
18.6 Hiển thị hộp thoại Select Names ................................................................................................................... 699
18.7 Tổng kết ........................................................................................................................................................ 707

Làm việc với tập tin đính kèm ....................................................................................................709
19.1 Tìm hiểu về tập tin đính kèm trong Outlook ................................................................................................. 709
19.2 Thêm tập tin đính kèm vào item trong Outlook ............................................................................................ 712
19.3 Làm việc với tập tin đính kèm trong item hiện có......................................................................................... 715
19.4 Tổng kết ........................................................................................................................................................ 728

Những kỹ thuật thông dụng khi xử lý item ...............................................................................730
20.1 Sử dụng biểu mẫu email tùy biến .................................................................................................................. 731

20.2 Làm việc với nút bình chọn và nhiều hành động tùy biến khác .................................................................... 740
20.3 Gửi email bằng tài khoản nhất định .............................................................................................................. 751
20.4 Tạo yêu cầu dự họp ....................................................................................................................................... 754
20.5 Giao tác vụ .................................................................................................................................................... 756
20.6 Liên kết nhiều item với nhau trong Outlook ................................................................................................. 757
20.7 Tạo sự kiện thường niên từ trường ngày/giờ tùy biến ................................................................................... 766
20.8 Tổng kết ........................................................................................................................................................ 777

Triển khai, quản lý biểu mẫu Outlook.......................................................................................779
21.1 Tìm hiểu về cấu trúc của biểu mẫu Outlook ................................................................................................. 780
21.2 Quản lý biểu mẫu Outlook ............................................................................................................................ 791
21.3 Quản lý trường tùy biến ................................................................................................................................ 804
21.4 Triển khai biểu mẫu Outlook ........................................................................................................................ 809
21.5 Khắc phục sự cố liên quan đến biểu mẫu Outlook ........................................................................................ 818
21.6 Tổng kết ........................................................................................................................................................ 822

Quy tắc, chế độ xem và những tác vụ viết script của quản trị viên ..........................................823
22.1 Tạo sao việc triển khai script trong Outlook lại là thách thức ....................................................................... 824
22.2 Triển khai script nội bộ bằng biểu mẫu email tùy biến ................................................................................. 826
22.3 Làm việc với quy tắc trong Outlook ............................................................................................................. 838
22.4 Quản lý chế độ xem của thư mục .................................................................................................................. 848
22.5 Triển khai script nội bộ với trang chủ của thư mục....................................................................................... 864
22.6 Tổng kết ........................................................................................................................................................ 864

Menu, Thanh công cụ và Bảng điều hướng .............................................................................866
23.1 Lập trình menu và thanh cơng cụ của Outlook ............................................................................................. 867
23.2 Làm việc với menu ngữ cảnh ........................................................................................................................ 880


23.3 Làm việc với bảng điều hướng và nhiều bảng khác trong cửa sổ Explorer................................................... 896

23.4 Tổng kết ........................................................................................................................................................ 904

Tạo báo cáo từ dữ liệu trong Outlook........................................................................................905


Lời đầu

Microsoft Office Outlook 2007, phiên bản thứ sáu của ứng dụng quản lý email hàng đầu
của Microsoft, đã chính thức ra mắt. Có hai đối tượng người dùng Outlook là: Một bên là
lập trình viên chuyên nghiệp sử dụng nền tảng Microsoft Studio .NET để lập trình add-in
được tích hợp chặt chẽ với Outlook, bên còn lại là người dùng cuối thông thái và quản trị
viên bận rộn và cũng là những người mong muốn tận dụng Outlook cho mục đích và cơng
việc của bản thân (hoặc “vọc vạch”) sao cho đạt hiệu quả hơn. Với việc bản beta của Office
2007 sắp ra mắt, K. D. Hallman, Tổng Giám đốc phụ trách mảng Visual Studio Tools for
Office ước tính có khoảng 3-4 triệu lập trình viên Office chun nghiệp và 16 triệu lập
trình viên khơng chun.
Tơi viết quyển sách này hướng đến đối tượng bạn đọc là nhóm sau—tức là những
người khơng phải là lập trình viên Outlook tồn thời gian. Bạn đọc là người thú nhận trên
newsgroup rằng bản thân có ít hiểu biết về lập trình, nhưng lại muốn thử sức mình. Bạn là
người sẽ mỉm cười khi quay lại đây một tuần sau đó và thốt lên rằng “Tuyệt cú mèo! Tôi
làm được rồi!”. Trong cuốn sách này, bạn đọc sẽ có được những thơng tin mà mình cần để
bắt đầu tìm hiểu lập trình VBA và biểu mẫu tuỳ biến trong Outlook, hình thành những kỹ
năng từ những kiến thức mà bạn sẵn có để từ đó bạn có thể tận dụng được những tính năng
lập trình mới mẻ mà Outlook 2007 mang lại.
Cịn nữa, tơi sẽ khơng qn nhắc đến nhiều lập trình viên chuyên nghiệp. Nhiều
cuốn sách chuyên ngành viết về chủ đề lập trình trong Outlook cần phải diễn giải những
vấn đề mang tính kiến trúc của add-in và nhấn mạnh những tính năng lập trình vừa mới mẻ
và vừa thiết yếu trong Outlook 2007, ví dụ như vùng biểu mẫu và đối tượng
PropertyAccessor.


Giữa những tư liệu tuyệt vời như vậy, tất nhiên là những cuốn sách

này lại khơng trình bày những kiến thức cơ bản như làm thế nào để trả về một đối tượng
hoặc thư mục cụ thể, hay phương pháp sử dụng đối tượng WordEditor để điều khiển văn
bản và định dạng trong phần thân của đối tượng Outlook. Những mảnh ghép thiết thực này
trong lập trình Outlook chính là cốt lõi của cuốn sách này và tôi xin mời những ai là lập
trình viên chuyên nghiệp bỏ qua những chương cơ bản về VBA (sẽ hữu ích cho những ai
mới bắt đầu học) và đi thẳng vào phần IV, “Những kỹ thuật lập trình Outlook căn bản”.
Trong cuốn sách này bạn đọc cịn có thể tìm thấy những yếu tố cần thiết cho công việc tạo
ra, quản lý biểu mẫu tuỳ biến kiểu cũ của Outlook trong trường hợp tổ chức của bạn đọc


chưa thật sự sẵn sàng cho việc chuyển đổi ứng dụng biểu mẫu sang vùng biểu mẫu (form
region).
Trong suốt bốn năm qua kể từ khi viết cuốn sách Microsoft Outlook Programming:
Jumpstart for Administrator, Power Users, and Developers, tôi đã lĩnh ngộ được rất nhiều
kiến thức từ bạn đọc, thật sự rất biết ơn những đóng góp của các bạn. Các bạn đã chỉ ra cho
tơi thấy dịng code nào sẽ chạy và muốn biết thêm thơng tin về điều gì. Các bạn cũng đã
đề xuất cho tôi nhiều cách tổ chức giúp trình bày sách hiệu quả hơn. Tơi hi vọng mình đã
lắng nghe thật kỹ lưỡng và bạn đọc sẽ tìm thấy thơng tin cập nhật hữu ích. (Nếu bạn đọc
vẫn còn đang sử dụng phiên bản Outlook 2003 thì phiên bản sách trước đây sẽ cung cấp
thơng tin liên quan nhiều hơn so với cuốn sách này, mà kiến thức trong cuốn sách này chỉ
áp dụng cho phiên bản Outlook 2007).
Tơi cho rằng điều quan trọng khi nói cuốn sách này không phải là: tài liệu tham
khảo mô hình đối tượng Outlook hồn chỉnh, cũng như khơng phải là tài liệu hướng dẫn
lập trình add-in nhằm mục đích cài đặt trong mơi trường doanh nghiệp hoặc nhằm mục
đích phân phối đến tay khách hàng thương mại. (Bạn đọc có thể tìm đọc những nguồn tư
liệu xuất sắc hơn trong cả hai chủ đề này; vui lòng truy cập trang web của tơi tại địa chỉ
để tìm đường dẫn và tải xuống toàn bộ mẫu code trong cuốn
sách này). Cuốn sách này cũng không phải là tài liệu hướng dẫn lập trình .NET. Tồn bộ

mẫu code có trong sách này đều được viết bằng VBA hoặc VBScript, đây là những ngơn
ngữ lập trình được người dùng thành thạo và quản trị viên sử dụng. Bởi vì nhiều lập trình
viên Outlook chun nghiệp sử dụng VBA cho cơng việc tạo ra mẫu ứng dụng nhẹ, tôi cho
rằng VBA vẫn sẽ là lựa chọn đúng đắn để giới thiệu kiến thức căn bản của Outlook đến đại
đa số bạn đọc.

Những quy ước được sử dụng trong cuốn sách này
Cuốn sách này sử dụng nhiều kiểu chữ khác nhau để phân biệt giữa code và ký tự thông
thường và nhằm giúp người đọc nhận ra những khái niệm quan trọng:
Phần khai báo biến và tên của thành phần chương trình được trình bày dưới dạng phơng
chữ phơng chữ đơn cách:
Item.BodyFormat = olFormatRichText

Ký hiệu số hạng dùng cho nhiều biểu thức khác nhau xuất hiện dưới dạng phông
chữ nghiêng đơn cách. Bạn đọc nên thay thế ký hiệu số hạng với giá trị cụ thể phù hợp với
ứng dụng cụ thể của code của bạn đọc yêu cầu.
Ký tự mà bạn đọc phân loại được trình bày trong phạm vi dấu ngoặc kép. Số hạng
mới xuất hiện dưới dạng chữ nghiêng.


Phần Lưu ý, Mẹo và Cẩn trọng được trình bày rải rác khắp cuốn sách nhằm khiến
cho bạn đọc chú ý đến những thông tin giúp bạn đọc trở thành lập trình viên Outlook giỏi
hơn. Phần Lưu ý trình bày những thông tin liên quan đến chủ đề bàn luận xoay quanh. Phần
Mẹo cung cấp cho bạn đọc cách thức dễ dàng hơn để thực hiện một việc nào đó. Phần Cần
trọng tư vấn cho bạn đọc những vấn đề tiềm tàng có thể xảy ra và giúp bạn đọc có cái nhìn
rõ nét hơn về vấn đề.


Lời cảm ơn


Trong cuốn sách lần trước, tôi đã gửi lời cảm ơn đến bạn đọc vì những góp ý của các bạn.
Ngoài ra, yếu tố quan trọng giúp định hình cuốn sách này chính là những câu hỏi và nhận
xét, phê bình từ những người khác mà tơi đã có dịp trao đổi ý tưởng về code trên diễn đàn
tại địa chỉ và trên nhóm thảo luận của Microsoft.
Tôi nợ tất cả các MVP Outlook (là những chuyên gia có giá trị nhất được Microsoft
cơng nhận vì sự am hiểu thiết thực và hành xử lịch thiệp khi giúp đỡ những người dùng
khác) một ân tình đặc biệt. Là biên tập viên cơng nghệ và là người đóng góp những dịng
code mẫu cũng như những ý tưởng minh hoạ, Eric Legault là người đóng vai trị chủ chốt
(tuy vậy nếu bạn đọc tìm thấy những dịng code nào mà nó khơng chạy, thì đó là lỗi của tơi
đấy). Tôi cũng chọn ra Ken Slovak, Dmitry Strblechenko (là tác giả của ứng dụng Outlook
Spy and Redemption) và Michael Bauer. MVP Word Cindy Meister đã khéo léo cập nhật
mẫu in ấn của Word sớm hơn để có thể sử dụng những content control mới trong bản Word
2007.
Ở Microsoft, tôi xin gửi lời cảm ơn sâu sắc đến giám đốc chương trình mở rộng
Outlook (và là cựu MVP) Randy Byrne vì anh ấy đã giải đáp nhiều câu hỏi cũng như cung
cấp những chi tiết về những tính năng mới của Outlook 2007. Randy và các cộng sự Peter
Aullenspach và Ryan Gregg, họ đã chỉ dạy cho tôi những kiến thức về form region (vùng
biểu mẫu) và có cơng lớn trong việc biến Outlook 2007 trở thành phiên bản có thể lập trình
được nhiều nhất từ trước đến nay. Tơi cũng xin cảm ơn Bill Jacob đã góp ý cho tơi, nhất là
Angela Wong, đã bỏ công sức xây dựng tài liệu dành cho lập trình viên Outlook. Bên cạnh
đó Simon Breeze và Helmut Obertanner đến từ nhiều tổ chức khác, họ đã truyền cảm hứng
và cung cấp tài liệu giúp tôi viết nên cuốn sách này.
Tôi xin cảm ơn Theron Shreve vì đã giúp tơi thực hiện ý tưởng trong cuốn sách và
triển khai những ý tưởng này. Tất cả các thành viên của nhà xuất bản Digital Press đã đưa
ra những ý kiến chuyên môn kịp thời để cuốn sách này có thể bổ sung tư liệu mới nhất vốn
chưa được biết đến sau khi bản Office 2007 chính thức ra mắt. Sản phẩm cuối cùng một
lần nữa được hồn thiện bằng đơi bàn tay khéo léo của Alan Rose và Lauralee Reinke.
Như thường lệ, có lẽ tơi sẽ khơng thể hồn thành được cuốn sách này nếu như
khơng nhận được nguồn động viên, khích lệ từ phía gia đình. Robert và Annie đã chịu đựng



sự thất vọng của tôi lúc chạy phần mềm beta và mỉm cười mỗi khi tơi có được chút hân
hoan trong cơng việc viết code. Annie đã giúp tơi tìm lại nhiều tư liệu có trong cuốn sách
lập trình Outlook lần trước để sẵn sàng hiệu chỉnh, hoàn thiện cuốn sách này chỉ một vài
tháng sau khi bản Office 2007 ra mắt. Cô ấy cũng đồng ý giúp tôi hiệu đính và trình bày
khn khổ cuốn sách như cách cơ ấy đã từng làm cho cuốn sách viết về Outlook 2003 trước
đây của tôi (cũng do nhà xuất bản Digital Press ấn hành).
Lời sau cùng, tôi cảm ơn chúa đã cho tôi cơ hội chia sẻ kiến thức này và giúp kết
nối mọi người với nhau.


1
Bạn có thể làm gì với Outlook 2007

Cho dù bạn đã và đang sử dụng Microsoft Outlook mới được vài ngày hay đã nhiều
năm, chắc hẳn bạn đã nhận ra rằng ứng dụng này khơng chỉ có chức năng quản lý email—
nó cịn làm được nhiều hơn thế nữa. Chúng ta có thể dễ dàng bắt gặp những người đưa
cuộc đời họ gắn liền với Outlook. Những công ty lập trình những add-in cho Outlook xem
ứng dụng này là nền tảng quan trọng bởi vì có rất nhiều người “sống trong Outlook”.
Tuy nhiên nếu bạn hỏi mỗi người dùng Outlook về cách thức họ áp dụng chương
trình nào đó cho cơng việc của bản thân, thì bạn sẽ nhận được nhiều câu trả lời khác nhau
sau mỗi lần hỏi, bởi vì họ có ý tưởng của riêng mình về cách tổ chức thông tin quan trọng
trong cuộc đời họ. Sẽ tuyệt vời hơn nếu Microsoft có thể xây dựng cho Outlook khả năng
tuỳ biến mà mọi người có thể sử dụng theo cách mình muốn thì sao? Cõ lẽ 100% là điều
khơng tưởng, nhưng mơi trường lập trình được tích hợp trong Outlook 2007 sẽ là đủ
phong phú để cho phép bạn tiến những bước dài trong việc biến Outlook trở thành công
cụ bạn mong muốn hay của tổ chức mà bạn đang làm việc.
Cuốn sách này trình bày cách thức sử dụng các cơng cụ lập trình có sẵn trong ứng
dụng Outook để người dùng tự tạo ứng dụng riêng cho mình. Bạn đừng lo lắng nếu trước
giờ chưa từng lập trình. Cuốn sách này trình bày kiến thức căn bản! Lập trình Outlook dễ

hơn bạn tưởng đấy. Đối với lập trình viên có kinh nghiệm, cuốn sách này trình bày phương
pháp làm việc với dữ liệu trong Outlook, phương pháp áp dụng những tính năng đặc biệt
của Outlook cho công việc và cách thức đưa ra giải pháp thay thế đối với những vấn đề
hiếm gặp. Ngay cả đối với lập trình viên chun nghiệp cũng có thể tìm thấy thơng tin
hữu ích về kiến thức cơ bản về lập trình Outlook trong cuốn sách này. Mặc dù vậy trong
cuốn sách này, chúng tôi chú trọng đến những gì mà bạn có thể hình thành “suy nghĩ đột
phá” mà không cần dùng đến Visual Studio hay bất kỳ cơng cụ lập trình bổ sung nào khác.
Trọng tâm của chương này gồm những chủ đề sau:
1




Những loại dự án lập trình nào có thể làm trong Outlook 2007



Công cụ nào bạn sẽ sử dụng



Làm thế nào quyết định sử dụng công cụ nào cho một dự án cụ thể



Làm thế nào để lập phác thảo ban đầu về những kế hoạch cho các dự án lập trình

Outlook của bạn

1.1 Tại sao bạn nên lập trình Outlook

Có thể bạn là chun gia cơng nghệ thơng tin đang quản lý một mạng lưới người dùng và
cần tìm cách lập báo cáo bằng dữ liệu hữu hình trong Outlook. Hoặc có lẽ bạn là một
trong số những người dùng trong mạng lưới đó và có thể mường tượng ra nhiều phương
pháp giúp cho công việc của bạn đạt hiệu quả hơn, nếu như Outlook sẽ… (phần này bạn
tự điền vào nhé). Có lẽ bạn thậm chí cịn sử dụng Outlook tại nhà, cũng như tại văn phòng
và ước rằng mình biết cách mở rộng tính năng của ứng dụng này giống như một nhà quản
lý thông tin cá nhân nhằm tổ chức nhiều hoạt động của bản thân hơn. Trong cuốn sách
này, tin tốt là Outlook 2007 cho phép việc tuỳ biến ứng dụng trở nên dễ dàng hơn bao giờ
hết đối với tác vụ mang tính lặp đi lặp lại, thêm nhiều tính năng mới và tích hợp với những
ứng dụng Office khác.
Nhằm giúp bạn có hứng thú với những chương phía trước, xin vui lịng tìm hiểu qua danh
sách những điều mà bạn có thể làm khi tìm hiểu cách thức lập trình với Outlook:


Tạo quy tắc tùy biến cho riêng mình để kiểm sốt thư đến



Tìm kiếm và thay thế dữ liệu, ví dụ như mã vùng điện thoại



Tạo báo cáo tùy chỉnh bằng cách tích hợp dữ liệu từ Outlook vào email có định

dạng HTML, văn bản Word và bảng tính Excel


Lên lịch theo dõi cuộc gọi trong buổi họp




Tạo biểu mẫu trong Outlook với chức năng nhân bản tin nhắn điện thoại giấy, đơn

xin nghỉ phép và những biểu mẫu kinh doanh khác mà bạn sử dụng

1.2 Những cơng cụ lập trình Outlook
Chúng ta hãy bắt tay ngay vào việc bằng cách điểm qua những cơng cụ chính mà bạn sẽ
sử dụng:
2




Visual Basic for Applications (VBA)



Biểu mẫu Outlook



Visual Basic Scripting Edition (VBScript)



Mơ hình lập trình của những ứng dụng Office khác

1.1.1 Visual Basic for Applications
Outlook tích hợp một mơi trường lập trình phong phú cho việc tạo macro, xử lý sự kiện
và những thủ tục khác— đó chính là Visual Basic for Applications, hay gọi tắt là VBA.

Những chương trình Office khác cũng có VBA, bên cạnh AutoCAD và những ứng dụng
khác có giấy phép sử dụng VBA như mơi trường lập trình.
Lưu ý: Microsoft có mơi trường lập trình hướng ứng dụng tên là Visual Studio Tools for Applications
(VSTA) được xây dựng trên nền tảng .NET Framework, tuy nhiên trong bản Office 2007, chỉ có InfoPath
mới hỗ trợ VSTA. Những ứng dụng Office 2007 khác, kể cả Outlook, vẫn sử dụng VBA làm mơi trường
lập trình tích hợp.

Hình 1.1 cho thấy mơi trường lập trình VBA. (Hầu hết ảnh chụp màn hình trong
sách này đều được thực hiện trên máy tính chạy Windows Vista. Nếu bạn đang sử dụng
Windows XP hay Windows 2003 thì màn hình của bạn sẽ có đôi chút khác biệt, tuy nhiên
code trong Outlook vẫn sẽ có chức năng tương tự bất kể máy tính của bạn đang chạy
phiên bản hệ điều hành nào). Môi trường lập trình VBA gồm có nhiều cơng cụ giúp bạn
học cách viết macro VBA.


Trình thiết kế biểu mẫu trực quan (dùng để tạo hộp thoại Windows trong

VBA chứ không phải là biểu mẫu Outlook)


Trình soạn thảo thơng minh kèm theo viết code có màu và danh sách xổ

xuống nhằm tránh lỗi code phát sinh


Chỉ mục chi tiết đối với những kỹ thuật lập trình trong Outlook



Cửa sổ thuộc tính và các công cụ khác


3



Hình 1.1 VBA tích hợp một mơi trường code và biểu mẫu phong phú (so sanh với Hình 1.4).

Macro VBA có thể cải tiến nhiều hoạt động diễn ra khi bạn làm việc với thơng tin
trong Outlook, ví dụ như tạo item mới hay chuyển từ thư mục này sang thư mục kia. Như
bạn thấy đấy, hầu hết những hoạt động này đều có những sự kiện tương ứng trong thư
viện lập trình của Outlook cho phép bạn tương tác với những hoạt động này một cách tự
động.
VBA cũng cho bạn khả năng thiết kế hộp thoại tự mở nhằm lấy thơng tin và cửa sổ hiển
thị trên màn hình nhằm cung cấp thơng tin đến người dùng. Ví dụ, bạn có thể xây dựng
một biểu mẫu VBA hiển thị bạn đã sử dụng bao nhiêu ngày nghỉ phép trong năm nay
hoặc thời điểm cuối cùng bạn nhận được thư trong Hộp thư đến.
Ngồi ra, bạn có thể sử dụng VBA để tạo ra macro giúp bạn thêm vào thanh công
cụ của Outlook để mở Biểu mẫu email điện thoại, tìm kiếm và thay thế ký tự, chạy rule
(quy tắc) theo yêu cầu và mở rộng tính năng của Outlook theo nhiều cách khác nhau.
4


Thậm chí bạn có thể tạo thủ tục VBA để từ đó trình Outlook Rules Wizard có thể thực thi
thủ tục này như là rule action “run a script”.
Xin lưu ý, những kỹ thuật VBA được bàn luận trong cuốn sách này cũng áp dụng
trong trường hợp bạn muốn dịch chuyển từ mơi trường lập trình tích hợp của Outlook
sang Visual Studio của Microsoft hay những cơng cụ lập trình khác nhằm xây dựng những
công cụ trong Outlook phức tạp hơn. Những kỹ thuật này cũng áp dụng cho macro VBA
viết trong Word, Excel, Access hay những ứng dụng Office khác cần tự động hóa Outlook.


1.1.2 Biểu mẫu tùy biến trong Outlook
Điểm dừng thứ hai trên con đường thông thạo lập trình trong Outlook chính là học cách
tùy biến những biểu mẫu cơ bản trong Outlook.
Mọi item mà bạn mở trong Outlook—cho dù đó là email (message), liên hệ
(contact) hay cuộc hẹn (appointment)—đều dùng một biểu mẫu nhất định để hiển thị dữ
liệu. (Nếu bạn đã từng lập trình trong Microsoft Access thì bạn có thể đã quen với việc
dùng biểu mẫu làm mẫu hiển thị những bản ghi dữ liệu khác nhau). Bạn có thể tùy biến
những biểu mẫu này để hiển thị hoặc ẩn đi những trường hoặc toàn bộ trang, tương ứng
với dữ liệu đầu vào và hành động của người dùng, đồng thời khởi chạy những hoạt động
khác trong Outlook. Nếu bạn làm việc trong phạm vi tổ chức triển khai Microsoft
Exchange làm máy chủ mail thì bạn có thể làm việc chung với những người khác bằng
cách sử dụng biểu mẫu tùy biến của Outlook. Chỉ với một chút nỗ lực, dùng biểu mẫu tùy
biến để làm việc chung với những người dùng Outlook khác trên Outlook là điều khả thi
(mặc dù điều này ít khi thấy).
Trong nhiều mơi trường lập trình, bạn phải bắt đầu từ con số 0 mỗi lần muốn tạo
ra một cửa sổ mới cho người dùng để tương tác với người ấy. Outlook khác ở chỗ, ứng
dụng này đưa ra cho bạn một nhóm những biểu mẫu dựng sẵn. Để xây dựng một biểu
mẫu tùy biến, bạn sẽ bắt tay vào làm việc với một trong những biểu mẫu có sẵn và sau đó
thêm vào những tính năng đặc biệt của riêng bạn.

5


Hình 1.2 Biểu mẫu liên hệs này chưa được tùy biến.

Ví dụ, người ta thường hỏi làm thế nào để hiển thị tuổi của một liên hệ chứ không
chỉ ghi nhận ngày sinh. Hình 1.2 cho thấy biểu mẫu liên hệ mặc định như thường thấy.
Trường (field) Birthday nằm trong trang Details và khơng nhìn thấy được. Trong hình
1.3, bạn có thể thấy biểu mẫu giống tương tự, chỉ là lần này biểu mẫu này đã được tùy
biến bằng form region (vùng biểu mẫu) nhằm cung cấp control cho việc nhập dữ liệu

ngày sinh từ trang chính và một hộp tính tốn số tuổi. Vùng biểu mẫu là tính năng mới
trong Outlook 2007 cho phép bạn thêm hoặc thay thế những trang trong biểu mẫu tùy
biến của Outlook. Chúng ta sẽ tìm hiểu thêm về chủ đề này trong Chương 5, “Giới thiệu
về Vùng Biểu mẫu”.

Hình 1.3 Biểu mẫu liên hệs này đã được tùy biến bằng vùng biểu mẫu nhằm hiển thị ngày sinh và tuổi của liên hệ.

6


Vậy nếu khơng có kiến thức lập trình thì có làm được không? Thật sự bạn không
cần phải biết lập trình đâu. Tất cả đều là cơng thức, khơng khác gì so với những cơng thức
mà bạn viết trong bảng tính của Microsoft Excel.
Vùng biểu mẫu tùy biến chỉ là phương pháp mới nhất cho việc tùy biến biểu mẫu
của Outlook. Bạn cũng có thể tạo ra những biểu mẫu tùy biến bằng cách thêm điều khiển
(control) và trường tùy biến (customized field) vào trang 5 hoặc trang 6 trong sáu biểu
mẫu tiêu chuẩn cơ bản bất kỳ được tích hợp trong Outlook.
Giả sử người dùng không cần phải viết code để thêm control và trường, thì đó có
phải là lập trình Outlook khơng? Chắc chắn là phải rồi! Những thay đổi mà bạn muốn
thực hiện cho Outlook đều không liên quan đến thứ gì khác ngoại trừ việc thêm những
trường và trang mới vào biểu mẫu hiện có nhằm lưu trữ thêm thơng tin. Với việc khơng
viết một dịng code nào, bạn có thể thực hiện thao tác kiểm tra đơn giản để đảm bảo dữ
liệu đáp ứng với tiêu chí mà bạn đưa ra đối với sự chính xác cũng như phát triển những
cơng thức, ví dụ như cơng thức tính tốn tuổi của một người.

1.1.3 Visual Basic Scripting Edition
Tuy vậy, đến một lúc nào đó bạn sẽ muốn tùy biến biểu mẫu Outlook của mình để thực
hiện nhiều cơng việc hơn. Có thể bạn sẽ muốn tạo tác vụ cho cuộc gọi tiếp theo từ một
cuộc hẹn và để Outlook tự động điền tên contact cho bạn. Có lẽ bạn mong muốn khả năng
nhập thơng tin ngày sinh của người bạn đời hoặc đối tác của contact và để Outlook tự

động tạo sự kiện lập lại trong thư mục Calendar. Khi bạn sẵn sàng làm điều xa hơn nữa
không chỉ là nhập dữ liệu và xử lý theo cách đơn giản, bạn có thể chuyển sang dùng
VBScript, đây là tên viết tắt của từ Visual Basic Scripting Edition và là ngơn ngữ lập trình
đứng sau biểu mẫu của Outlook.

7


Hình 1.4 Trình soạn thảo script của biểu mẫu Outlook chỉ là một trình soạn thảo văn bản (so sánh với Hình 1.1).

Có lẽ bạn đã từng nghe qua VBScript trong ngữ cảnh trang Web. VBScript là một
trong nhiều ngôn ngữ có thể kiểm sốt những gì bạn thấy khi tương tác với trang Web.
Ngôn ngữ này cũng hoạt động với môi trường tập lệnh Windows Scripting Host (WSH)
mà Microsoft đã tích hợp với Windows kể từ phiên bản Windows 98. Với WSH, bạn có
thể viết thủ tục được lưu trữ dưới dạng tập tin văn bản đơn giản và có thể chạy ở cửa sổ
dịng lệnh.
Tập lệnh (Script) tuy rằng chạy khơng nhanh như nhiều loại chương trình khác,
nhưng chúng có lợi thế là dung lượng nhỏ và tính linh hoạt. Có script liên kết với biểu
mẫu trong Outlook sẽ khó làm gia tăng kích thước của biểu mẫu.
Mặc dù vậy, VBScript có hơi “khó nhằn” một chút. VBScript giống như là một sợi
dây kéo căng mà khơng có lưới, bởi vì trình soạn thảo dựng sẵn cho chương trình của
VBScript vốn dĩ là một trình soạn thảo văn bản mà thơi. Hình 1.4 cho ta thấy một mẫu
script dùng trong một biểu mẫu với mục đích phân phối danh sách ngày nghỉ lễ của công
ty trong phạm vi tổ chức. Trình soạn thảo script của biểu mẫu khơng có tính năng hiển
thị màu khi gõ code hay kiểm tra cú pháp tự động mà bạn thường thấy trong VBA.
Một kỹ thuật “lén lút” mà bạn sẽ tìm hiểu trong cuốn sách này đó là viết và kiểm
tra code của biểu mẫu Outlook trong môi trường code VBA ưu việt, bạn chỉ việc sửa một
số chỗ để code có thể chạy trong VBScript và sau đó sao chép và dán vào cửa sổ soạn
thảo script của biểu mẫu Outlook. Phương pháp này giúp giảm đáng kể thời gian lập trình.


8


1.2.4 Trang chủ thư mục
Khi bạn lần đầu khởi động Outlook, bạn sẽ nhìn thấy mục Outlook Today, đây là mục
tổng hợp Thư mục Inbox, Calendar và Tasks. Thật ra Outlook Today là một trang Web
được tích hợp trong Outlook, đây chính là ví dụ điển hình về trang chủ thư mục. Bạn có
thể thiết lập mọi thư mục trong Outlook thông qua hộp thoại Properties để hiển thị một
trang Web thay cho nội dung của thư mục. Thậm chí trang Web cịn có thể liệt kê danh
sách các hạng mục có trong thư mục thơng qua điều kiển ActiveX có tên là Outlook View
Control, tuy nhiên nó cũng có thể hiển thị một vài thứ không liên quan đến Outlook, ví
dụ như trang SharePoint hay trang trợ giúp máy tính trong mạng nội bộ. Trang chủ thư
mục cũng có thể lập tài liệu cho người dùng về những hình thức hoạt động mà chúng có
thể thực hiện trong thư mục public của máy chủ Exchange.
Có hai điều khiến cho tính năng này trở nên hấp dẫn đối với quản trị mạng, những
người mong muốn tìm hiểu việc hỗ trợ tạo script cấu hình của Outlook:


Với Đối tượng Group Policty hay Cơng cụ Tùy biến Office, bạn có thể kiểm soát những
thư mục mặc định nào trong Outlook hiển thị trang chủ và những trang mà chúng hiển
thị.



Trang chủ thư mục có thể chạy code VBScript để truy cập vào những đối tượng tự động
hóa của Outlook và cấu hình những đối tượng này như rule.
Hình 1.5 cho ta thấy ví dụ về trang chủ thư mục được dùng để triển khai các thiết lập của
Outlook. Chúng ta sẽ tìm hiểu sâu hơn kỹ thuật này ở Chương 22, “Rules, Views và Tác
vụ script dành cho quản trị viên”.


9


Hình 1.5 Trang chủ thư mục có thể hiển thị dữ liệu từ bất kỳ thư mục trong Outlook và chạy mã script giống
như bất kỳ trang Web khác.

Chuyện gì đã xảy ra với CDO?
Những phiên bản trước đây của Outlook phụ thuộc vào một giao diện chương trình có
tên là Collaboration Data Objects (CDO) đối với nhiều tác vụ lập trình khơng thể thực
hiện được thơng qua mơ hình đối tượng của Outlook, ví dụ như hiển thị hộp thoại
Address Book hay lấy số điện thoại di động từ một người dùng trong Exchange Global
Address List. Trong bản Outlook 2007, số lượng mơ hình đối tượng đã đạt gần gấp đôi
so với phiên bản Outlook 2003, và từ giờ Outlook 2007 có thể gần như xử lý tồn bộ
mọi tác vụ lập trình mà trước đây phải phụ thuộc vào CDO—và có thể chạy mà khơng
kích hoạt hộp thoại nhắc bảo mật. Do vậy, Microsoft khơng cịn tích hợp CDO 1.21 với
Outlook 2007. Tuy nhiên, người dùng có thể tải về từ trang Web và sử dụng cho những
ứng dụng kiểu cũ theo yêu cầu. Trong sách này không đề cập đến khía cạnh lập trình
bằng CDO 1.21.
10


1.2.5 Tích hợp Office và những mơ hình đối tượng khác
Outlook có thể tạo ra văn bản Word hoặc Excel, và những chương trình trong bộ phần
mềm Microsoft Office như Excel và Word có thể tạo email, appointment và những item
khác trong Outlook. Việc tích hợp này là khả thi nhờ vào một thứ gọi là mơ hình đối
tượng của Outlook, đây là thư viện lập trình đem đến cho Outlook khả năng tự động hóa
khơng chỉ thơng qua Outlook VBA mà cịn từ những mơi trường lập trình của những ứng
dụng khác. Thêm vào đó, tất cả những chương trình Office và nhiều thành phần khác của
Windows cũng có mơ hình đối tượng cho phép những chương trình này có thể làm được
những gì, loại item (khơng phải đối tượng) mà chúng có thể làm việc và đặc điểm của

những item này, Ví dụ như, những đối tượng của Word đóng vai trị quan trọng trong việc
tạo một thư có định dạng phức tạp trong Outlook.

1.2 Nên bắt đầu lập trình Outlook từ đâu
Tại điểm này, bạn có thể nhận ra phần khó nhất trong lập trình Outlook chính là nên bắt
đầu học từ đâu. Bạn sử dụng VBScript hay sử dụng VBA? Bạn làm việc với biểu mẫu
trước sau đó mới viết code lập trình và ngược lại hay không?
Tôi khuyên bạn nên bắt đầu từ việc chọn một hoặc nhiều dự án mang tính bắt
buộc—ý tưởng giúp bạn tiết kiệm thời gian trong quá trình diễn ra lâu dài, tạo những tác
vụ lập đi lập lại ít gây phiền tối, hoặc có thể là chỉ hiển thị thơng tin khó có thể trích xuất
từ giao diện tiêu chuẩn của Outlook. Hãy cố gắng trình bày rõ ràng nhất có thể. Đừng
quyết định xây dựng một dự án biến Outlook giống như GoldMine (chương trình quản lý
liên hệ bán hàng phổ biến). Thay vào đó, hãy chọn ra một tính năng từ GoldMine mà bạn
muốn Outlook sao chép.
Khi bạn chọn một dự án, đừng bắt tay vào việc viết code hay di chuyển các trường
trong phạm vi biểu mẫu! Thay vào đó, hãy dành thời gian phác thảo những gì mà bạn
muốn đạt được với dự án bằng cách dùng một thứ mà nhiều lập trình viên gọi là mã giả
(pseudo code).
Nhưng khoan đã! Bạn nói là mình khơng biết viết code. (Bạn quả quyết “Đó chính
là lý do tôi mua cuốn sách này!”). Không phải đâu, tôi không yêu cầu bạn viết một chương
11


trình (chưa đâu) chỉ để thiết lập nền tảng. Khi bạn viết mã giả, bạn sẽ tìm hiểu những việc
bạn muốn xảy ra mà không cần phải lo lắng về việc phải dùng ngơn ngữ lập trình nào để
hiện thực hóa ý tưởng theo khía cạnh logic.
Ví dụ, hãy nói rằng bạn muốn cải tiến cái biểu mẫu cuộc hẹn trong Outlook với
một nút bấm có chức năng tạo một tác vụ mới cho cuộc gọi sắp tới đến người mà bạn đã
gặp. Mã giả có thể được hình dung như sau:
Người dùng nhấp chuột vào nút

Hiển thị biểu mẫu tác vụ
Sao chép thông tin về buổi gặp mặt sang phần thân của task
Sao chép contact từ buổi gặp mặt sang task
Thiết lập ngày đến hạn của tác vụ khoảng một tuần tính từ ngày gặp mặt
Nếu ngày đến hạn của tác vụ rơi vào ngày cuối tuần hoặc ngày lễ
Thì điều chỉnh ngày đến hạn sang ngày làm việc kế tiếp
Lưu tác vụ

Danh sách này khơng có chỗ nào giống như lập trình cả, nhưng nó mơ tả chi tiết
bạn muốn Outlook thực hiện những gì khi người dùng nhấp chuột vào nút cuộc gọi tiếp
theo mà bạn sẽ thêm vào biểu mẫu. Việc này không khiến bạn mất nhiều thời gian để
chuyển từ mã giả sang mã lập trình để triển khai những bước trên.
Một khi quyết định xem dự án nào cần khắc phục và lên ý tưởng về dự án hồn
chỉnh cần thực hiện những cơng việc gì, bạn quyết định như thế nào về việc cơng cụ nào
là phù hợp? Bảng 1.1 trình bày một vài khuyến cáo về những công cụ phù hợp cho những
tình hình cụ thể. Đừng tiếp thu những khuyến cáo này một cách cứng nhắc. Trong nhiều
trường hợp, bạn có thể tiếp cận một dự án bằng nhiều cách khác nhau. Khi bạn tìm hiểu
qua những ví dụ trong các chương sắp tới, bạn sẽ hình thành một cảm nhận tốt hơn về
công cụ nào của Outlook cho hiệu quả tốt nhất và phương pháp nào bạn cảm thấy thoải
mái hơn khi triển khai
Xin lưu ý, Bảng 1.1 không bao gồm những phương pháp như add-in, task pane,
custom toolbar và smart tag. Trong khi nhiều lập trình viên chuyên nghiệp thêm những
yếu tố này vào ứng dụng có tích hợp Outlook, việc tạo ra những yếu tố này yêu cầu dùng
thêm những cơng cụ lập trình như Microsoft Visual Studio. Trong phạm vi cuốn sách này,

12


×