1. 程式人生 > >VSTO:使用C#開發Excel、Word【3】

VSTO:使用C#開發Excel、Word【3】

定義 應用程序 導致 編程 生活 成功 員工 無法使用 我們

前言
在2002年,Visual Studio .NET和.NET Framework的第一個版本即將完成。我們中的幾個意識到微軟的.NET將會錯過Office,除非我們做了一些事情。

以前曾經是Visual Basic for Applications(VBA),這是一個集成到所有Office應用程序中的簡單開發環境。每個Office應用程序都有一個豐富的對象模型,通過一種稱為COM的技術訪問。數以百萬計的開發人員將自己定義為“Office開發人員”,並使用VBA和Office COM對象模型,從自動化重復任務到創建完整的業務解決方案,利用Office的豐富功能和用戶界面。這些開發者意識到他們的用戶在Office上度過了一天。通過構建在Office內部運行的解決方案,他們不僅使用戶滿意,還通過重用Office應用程序中已經提供的功能,創建了更多,成本更低的解決方案。

不幸的是,由於VBA的一些限制,Office編程開始得到一個壞的評論。 VBA中由小型工作組或個人開發的解決方案將獲得勢頭,專業開發人員將不得不采取措施,開始支持他們。對於專業開發人員來說,VBA環境感覺很簡單和有限,當然,它也實現了一種單一的語言:Visual Basic。 VBA嵌入式代碼在每個自定義文檔中,這使得很難修復錯誤和更新解決方案,因為錯誤會被復制到整個企業的文檔中。 VBA模型的安全漏洞導致了企業將蠕蟲和宏病毒的VBA關閉。

Visual Studio .NET和.NET Framework提供了一種解決所有這些問題的方法。存在巨大的機會不僅將新的.NET Framework和開發人員工具的豐富性與Office一直為開發人員提供的強大平臺相結合,還解決了困擾VBA的問題。這個實現的結果是Visual Studio Tools for Office(VSTO)。

VSTO的第一個版本很簡單,但它實現了讓專業開發人員利用Visual Studio .NET和.NET Framework的全部功能將代碼放置在Excel 2003和Word 2003文檔和模板的關鍵目標。它讓專業開發人員在VB.NET和C#中開發Office解決方案。它通過將文檔鏈接到.NET程序集而不是將其嵌入到文檔中來解決嵌入式代碼的問題。它還引入了一種使用.NET代碼訪問安全性來防止蠕蟲和宏病毒的新安全模型。

VSTO的第二版,被稱為VSTO 2005,這本書涵蓋的VSTO版本更加雄心勃勃。它帶來了Office開發人員以前無法使用的功能,例如數據綁定和數據/視圖分離,Visual Studio中Excel和Word文檔的設計時視圖,對文檔中Windows Forms控件的豐富支持,創建能力自定義Office任務窗格,針對Officeand的服務器端編程支持,這只是劃傷表面。雖然VSTO的主要目標是專業開發人員,但這並不意味著使用VSTO構建Office解決方案是火箭科學。 VSTO可以通過幾行代碼創建非常豐富的應用程序。

本書嘗試將使用VSTO成功的所有信息放在一個位置,以便對Word 2003,Excel 2003,Outlook 2003和InfoPath 2003進行編程。它引入了Office對象模型,並涵蓋了這些對象模型中最常用的對象。此外,本書還將幫助您避免Office對象模型的COM起源產生的一些陷阱。

本書還提供了VSTO所有豐富功能的內部人士觀點。我們參與了許多這些功能的設計和實現。因此,我們可以從過去三年的VSTO生活和呼吸的獨特角度講話。使用VSTO的編程辦公室功能強大而有趣。我們希望您喜歡使用VSTO,就像我們喜歡的文章一樣,並且創建它。

埃裏克·卡特
埃裏克Lippert
2005年5月

VSTO:使用C#開發Excel、Word【3】