Download miễn phí Giáo trình Lập trình VB.net - Một số COM Interop hữu ích





Bạn muốn gửi một thông điệp e-mail, nhưng SMTP-server (Simple Mail Transfer
Protocol mail server) chưa được cấu hình trên máy tính hiện hành.
# Sửdụng thành phần MAPI(Message Application Programming Interface) đểtương
tác với tài khoản mail đã được cấu hình trên máy tính hiện hành.
MAPIlà một giao diện cho phép bạn tương tác với các tính năng gửi/nhận mail được tích hợp
trong hệ điều hành Windows. Bạn có thểsửdụng MAPI(thông qua API, hay thông qua thành
phần COM) đểtương tác với mail-client mặc định (thường là Microsoft Outlookhay Outlook
Express). Các tác vụbao gồm lấy thông tin liên hệtừsổ địa chỉ, lấy các thông điệp trong
Inbox, và soạn và gửi thông điệp bằng mã lệnh. Bạn cần lưu ý rằng điều kiểm MAPIkhông đi
kèm với .NET⎯nó được cài đặt trong các phiên bản trước của Visual Studio, như Visual Basic 6. Mặc dù có thểtái phân bổ điều kiểm ActiveX MAPI cùng với các ứng dụng có sử
dụng nó, bạn cũng sẽcần có một sản phẩm như Visual Basic 6 đểphát triển với nó.
Đểcó thểsửdụng MAPI, hãy nhắp phải vào dựán của bạn trong Solution Explorer, chọn Add
Reference, và chọn thẻ COM. Tìm Microsoft MAPI Controls 6.0(msmapi32.ocx) trong danh
sách, và thêm nó. Các Interop Assemblycần thiết sẽ được thêm vào dựán của bạn ngay sau
đó. Các đối tượng này thuộc không gian tên MSMAPI.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

d_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdForward.Click
Try
Explorer.GoForward()
Catch
MessageBox.Show("Already on last page.")
End Try
End Sub
Private Sub cmdHome_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdHome.Click
Explorer.GoHome()
End Sub
End Class
Hình 19-3 Sử dụng điều kiểm Web Browser
19.3 Vận hšnh Internet Explorer
V Bạn muốn hiển thị một cửa sổ Internet Explorer độc lập, nhưng vẫn giữ lại quyền
kiểm soát trên cửa sổ đó.
# Sử dụng Automation và điều kiểm Microsoft Internet Explorer để vận hành Internet
Explorer.
237
Chương 19: Một số COM Interop hữu ích
Microsoft cung cấp nhiều cách để truy xuất các chức năng của Internet Explorer. Bạn có thể
đặt trực tiếp một cửa sổ trình duyệt Internet Explorer lên form, như đã trình bày trong mục
19.2, hay bạn có thể sử dụng Automation để vận hành một cửa sổ Internet Explorer độc lập.
Trong cả hai trường hợp, mô hình đối tượng hầu như giống nhau.
Để sử dụng Automation với Internet Explorer, trước tiên bạn phải thêm một tham chiếu đến
thư viện COM cần thiết. Nhắp phải vào dự án của bạn trong Solution Explorer, chọn Add
Reference, và chọn thẻ COM. Tìm Microsoft Internet Controls (shdocvw.dll) trong danh sách,
và thêm nó. Các Interop Assembly cần thiết sẽ được tạo ra và thêm vào dự án của bạn ngay
sau đó.
Như với điều kiểm Web Browser, bạn có thể chuyển cửa sổ đến các URL khác nhau và thụ lý
các sự kiện chuyển hướng (navigation). Ngoài ra, bạn có thể điều khiển cửa sổ là khả kiến hay
không (bằng cách thiết lập thuộc tính Visible), và bạn có thể đóng cửa sổ bằng cách gọi Quit.
Ứng dụng Console dưới đây mở một cửa sổ Internet Explorer độc lập để hiển thị một URL
được chỉ định. Kế đó, nó thụ lý sự kiện NavigateComplete2, hiển thị các URL mới khi người
dùng truy xuất chúng. Bạn có thể đóng cửa sổ Internet Explorer bằng cách nhấn Enter trong
cửa sổ Console.
Hình 19-4 Chọn Microsoft Internet Controls trong cửa sổ Add Reference
Public Module IETest
Public Sub Main()
' Tạo thể hiện IE.
Dim IE As New SHDocVw.InternetExplorer()
' Kết nối hàm thụ lý sự kiện.
AddHandler IE.NavigateComplete2, AddressOf IE_NavigateComplete2
' Chuyển đến một trang mới.
IE.Navigate("")
238
Chương 19: Một số COM Interop hữu ích
' Hiển thị cửa sổ.
IE.Visible = True
Console.WriteLine("Press any key to exit.")
Console.ReadLine()
Console.WriteLine("Closing the IE window.")
IE.Quit()
End Sub
Public Sub IE_NavigateComplete2(ByVal pDisp As Object, _
ByRef URL As Object)
Console.WriteLine("Visited: " & URL.ToString())
End Sub
End Module
19.4 Vận hšnh Microsoft Word
V Bạn muốn tương tác với Microsoft Word, để tự động hóa một tác vụ hay để
đọc/ghi các tài liệu Word.
# Sử dụng các đối tượng Word Automation đi kèm với Microsoft Office.
Microsoft cung cấp một mô hình đối tượng đa năng mà bạn có thể sử dụng để tương tác với
Word và các ứng dụng Office khác. Bạn có thể sử dụng các đối tượng này để tạo và đọc các
tài liệu Word, tự động hóa các tác vụ phức tạp hay lặp đi lặp lại, và ngay cả truy xuất các tính
năng của Word như từ điển chính tả.
Hình 19-5 Chọn Microsoft Word Object Library trong cửa sổ Add Reference
239
Chương 19: Một số COM Interop hữu ích
Để sử dụng Automation với Microsoft Word, trước tiên bạn phải thêm một tham chiếu đến thư
viện COM cần thiết. Nhắp phải vào dự án của bạn trong Solution Explorer, chọn Add
Reference, và chọn thẻ COM. Tìm Microsoft Word Object Library trong danh sách, và thêm
nó. Tên chính xác của đối tượng Automation này tùy thuộc vào phiên bản Word mà bạn đã cài
đặt. Word 2000 sử dụng phiên bản 9.0, trong khi Word 2002 (có trong Office XP) sử dụng
phiên bản 10. Các Interop Assembly cần thiết sẽ được thêm vào dự án của bạn ngay sau đó.
Các đối tượng này nằm trong không gian tên Word.
# Bạn có thể trực tiếp download các Interop Assembly cho Office XP từ Microsoft
[]. Các
assembly .NET này bọc các thành phần COM Office và có cải tiến đôi chút để mô
hình đối tượng Office dễ sử dụng trong một ứng dụng .NET. Một khi bạn đã
download các assembly này và cài đặt chúng trong GAC, chúng sẽ được sử dụng
tự động khi bạn thêm một tham chiếu đến bất kỳ thành phần COM Office nào.
Ứng dụng Console dưới đây sử dụng các đối tượng Word Automation theo nhiều cách khác
nhau. Nó sẽ tạo một tài liệu phía nền, thực hiện kiểm tra chính tả, hiển thị một vài thông tin về
tài liệu, hiển thị print-preview, và in tài liệu một cách tự động.
Public Module DriveWord
Public Sub Main()
' Khởi động Word phía nền.
Dim App As New Word.Application()
App.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone
' Tạo một tài liệu mới (không khả kiến đối với người dùng).
Dim Doc As Word._Document = App.Documents.Add()
Console.WriteLine()
Console.WriteLine("Creating new document.")
Console.WriteLine()
' Thêm một tiêu đề và hai dòng chữ.
Dim Range As Word.Range = Doc.Paragraphs.Add().Range
Range.InsertBefore("Test Document")
Range.Style = "Heading 1"
Range = Doc.Paragraphs.Add().Range
Range.InsertBefore("Line one." & vbCrLf & "Line two.")
Range.Font.Bold = True
' Sử dụng Word làm từ điển.
Console.Write("Enter a word to look up: ")
Dim TestWord As String = Console.ReadLine()
If App.CheckSpelling(TestWord) = False Then
Console.WriteLine(TestWord & " is not in the dictionary.")
Console.WriteLine("Suggestions include:")
Dim Suggestion As Word.SpellingSuggestion
For Each Suggestion In App.GetSpellingSuggestions(TestWord)
Console.WriteLine(Suggestion.Name)
Next
Else
Console.WriteLine(TestWord & " is in the dictionary.")
End If
Console.WriteLine()
240
Chương 19: Một số COM Interop hữu ích
' Lưu và đóng tài liệu hiện hành.
Doc.SaveAs(App.StartupPath & "\test.doc")
Doc.Close()
Doc = Nothing
' Bây giờ mở lại tài liệu, hiển thị print-preview,
' và làm cho Word trở nên khả kiến.
Doc = App.Documents.Open(App.StartupPath & "\test.doc")
Doc.PrintPreview()
App.Visible = True
' Hiển thị một vài thông tin.
Dim Words As Integer
Words = Doc.ComputeStatistics(Word.WdStatistic.wdStatisticWords)
Console.WriteLine("This document has " & Words.ToString() & _
" words.")
' Chuyển thành file PDF bằng Adobe Acrobat Distiller.
' Thất bại nếu Adobe Acrobat chưa được cài đặt đầy đủ.
Try
App.ActivePrinter = "Acrobat Distiller"
Console.WriteLine("Press any key to print this document.")
Console.ReadLine()
Doc.PrintOut()
Catch
Console.WriteLine("Printer not found.")
End Try
' Đóng và thoát Word.
Console.WriteLine()
Console.WriteLine("Closing Word.")
Doc.Close()
CType(App, Word._Application).Quit()
End Sub
End Module
Kết xuất của ứng dụng này có thể như dưới đây. Hình 19-6 là tài liệu Word được sinh ra.
Creating new document.
Enter a word to look up: huggly
huggly is not in the dictionary.
Suggestions include:
hugely
ugly
haggle
haggy
This document has 6 words.
Press any key to print this document.
Closing Word.
# Để có thể gỡ rối với cửa sổ Word một cách trực quan, bạn hãy thiết lập thuộc tính
Word.Application.Visible là True. Khi đã hoàn thiện phần mã lệnh, bạn có thể
giấu cửa sổ này đi để người dùng không thể can thiệp vào đó.
241
Chương 19: Một số COM Interop hữu ích
Hình 19-6 Tạo một tài liệu Word bằng mã lệnh
19.5 Vận hšnh Microsoft Excel
V Bạn muốn tương tác với Microsoft Excel, để tự động hóa một tác vụ hay để
đọc/ghi các tài liệu Excel.
# Sử dụng các
 

Các chủ đề có liên quan khác

Top