- 什么是Microsoft VSTO
- 為什么需要VSTO 3.0
- 與舊版本相比,VSTO 3.0中添加的新特征
- VSTO的結(jié)構(gòu)及工具的方式
- 基本配置——系統(tǒng)需求,安裝,等等
- VSTO如何與Visual Studio 2008整合,及其完整的設(shè)計(jì)和調(diào)試特征
- VSTO下一個版本的新特征,VSTO將來如何進(jìn)一步改進(jìn)
VSTO幫助你創(chuàng)建文檔級的解決方案,專門面向指定的文檔;還可以通過使用應(yīng)用程序級的加載項(xiàng),創(chuàng)建應(yīng)用程序級的解決方案。應(yīng)用程序級加載項(xiàng)可以被特定應(yīng)用程序所處理的所有文檔訪問。
什么是Microsoft VSTO?
VSTO是Microsoft Office解決方案開發(fā)的平臺,建立在.NET框架之上,最新版本是3.0。從VSTO 3.0開始,開發(fā)者已經(jīng)將Office客戶端整合到Visual Studio設(shè)計(jì)器和自身對象模型之上的.NET層里。
上圖表現(xiàn)了VSTO是如何被整合到Visual Studio 2008環(huán)境中的。
Office解決方案是為Microsoft Office應(yīng)用程序開發(fā)的一種解決方案,包括Word、Excel、InfoPath、Access或PowerPoint。在VSTO的幫助下,開發(fā)者能夠使用托管代碼創(chuàng)建Office解決方案。
托管代碼是在.NET框架通用語言運(yùn)行時(shí)管理下執(zhí)行的程序代碼。任何編程語言的程序都能夠使用托管或非托管代碼編譯。在.NET框架中創(chuàng)建的代碼是托管代碼。與VBA相比,托管代碼更容易部署VSTO解決方案。
與VSTO不同,VBA不支持編程語言,而VSTO完全支持編程語言創(chuàng)建Microsoft Office解決方案。VSTO幫助你創(chuàng)建可靠且安全的Office應(yīng)用程序解決方案。所有VBA腳本將被存儲在所編程的文檔里,而VSTO帶來了新的概念,即文檔級的解決方案和應(yīng)用程序級的解決方案。
使用VSTO,Office開發(fā)者能夠創(chuàng)建加載項(xiàng)解決方案。加載項(xiàng)是額外的程序組件,通過使用VSTO能夠?qū)⑵涮砑拥絆ffice應(yīng)用程序中。例如,Microsoft為Office 2007授權(quán)用戶提供了一些自由的加載項(xiàng),如Microsoft Save as PDF or XPS,能夠使文檔以PDF或XPS格式保存。也可以定制現(xiàn)有的Office應(yīng)用程序功能。如果需要單擊按鈕后保存或?qū)С鯳ord 2007或Excel 2007中所有的內(nèi)容,那么可以使用VSTO創(chuàng)建加載項(xiàng)來實(shí)現(xiàn)。這是可以在Office解決方案開發(fā)中使用VSTO加載項(xiàng)的一種情形。
在VSTO之前,Office開發(fā)者必須使用VBA、VB6或者C++創(chuàng)建共享的COM加載項(xiàng)。所有加載項(xiàng)共享相同的地址空間,如果一個失敗,宿主應(yīng)用程序或所有其他的加載項(xiàng)將崩潰。與VSTO不同,VBA代碼直接編寫在Office應(yīng)用程序的IDE中并且在運(yùn)行時(shí)被編譯,所有VBA腳本被存儲在編寫程序的文檔內(nèi)部。在VSTO中,這被稱作文檔級的解決方案,這種解決方案指向發(fā)布的專門文檔。同樣,在VSTO中,文檔級加載項(xiàng)被交付給特定的文檔。例如,假設(shè)在特定的Word文檔包括了函數(shù),那么該函數(shù)僅當(dāng)打開該特定的Word文檔時(shí)可用。
VSTO引入了一個稱作應(yīng)用程序級解決方案的新概念。使用應(yīng)用程序級解決方案,特定應(yīng)用程序處理的所有文檔都能夠訪問該解決方案。通過使用應(yīng)用程序級加載項(xiàng)來創(chuàng)建應(yīng)用程序級解決方案。
VSTO提供了兩種完全支持的編程語言創(chuàng)建在所有Office應(yīng)用程序中運(yùn)行的Office解決方案,C#、VB.NET或XML。作為一名VSTO程序員,需要具有C#的基礎(chǔ)知識,使用C#編寫Office應(yīng)用程序。此外,還應(yīng)該了解XML的基礎(chǔ)知識。
在大多數(shù)Office 2007應(yīng)用程序中,Microsoft使用XML作為數(shù)據(jù)和UI處理的標(biāo)準(zhǔn)格式。例如,InfoPath形狀以XML格式保存數(shù)據(jù)。C#帶給你對XML和Office應(yīng)用程序極好的編程支持。Office已經(jīng)有內(nèi)置的基于XML定制模型的支持,VSTO完全可以利用。使用C#類和簡單的XML,VSTO簡化了.NET、服務(wù)器和Office系統(tǒng)之間的連接。
- VSTO利用了兩種強(qiáng)大的技術(shù)——C#和XML。C#是Microsoft .NET框架支持的最強(qiáng)大的編程語言之一。
- VSTO完全支持使用C#和VB.NET編程語言為Office 2007應(yīng)用程序編寫代碼。
- 作為VSTO程序員,如果使用C#編寫Office應(yīng)用程序,則需要具備C#的基礎(chǔ)知識。
此外,VSTO還提供了數(shù)據(jù)緩存功能。
為什么需要VSTO 3.0?
對于Office解決方案開發(fā)來說,VSTO是簡單但強(qiáng)大的框架。這個框架為每個Office開發(fā)者帶來了許多令人驚嘆的好處:窗體控件、類、安全性、服務(wù)器可測量性、面向?qū)ο筇卣?、完整性、易發(fā)布,等等。
1、更安全的托管代碼擴(kuò)展
VSTO允許托管和非托管代碼無縫地放在一起到相同的.NET程序集里,這允許開發(fā)者保留非托管代碼而無須完全重寫。帶有鏈接或引用托管代碼程序集的文檔或工作簿被作為托管代碼擴(kuò)展。通過使用VSTO在Word或Excel中創(chuàng)建托管代碼擴(kuò)展,與宏相似但更安全。使用VSTO,能夠創(chuàng)建僅需要裝載數(shù)據(jù)的模板。
2、數(shù)據(jù)緩存
數(shù)據(jù)緩存,簡單地說,就是在內(nèi)存中存儲數(shù)據(jù)以便于快速訪問。Microsoft Office Word文檔或Excel工作簿有一個隱藏的控件,稱之為運(yùn)行時(shí)存儲控件(Runtime Storage Control),存儲緩存的數(shù)據(jù)。VSTO提供數(shù)據(jù)緩存功能,使用C#中的ServerDocument類,通過應(yīng)用程序外部到Office來操控?cái)?shù)據(jù)緩存,無須訪問Word或Excel對象模型。
3、自定義功能
使用可重復(fù)使用的類,VSTO 3.0提供極好的控制來自定義Office應(yīng)用程序。不像VBA開發(fā)者,VSTO開發(fā)者不局限于VBA函數(shù)庫。VSTO提供了相當(dāng)廣泛的類、對象和事件來創(chuàng)建Office商業(yè)解決方案。使用VSTO,開發(fā)者能夠?yàn)镺ffice應(yīng)用程序自定義功能。這能夠簡單到在應(yīng)用程序命令欄中添加按鈕或自定義任務(wù)窗格,或者復(fù)雜到用于訪問不同數(shù)據(jù)源的數(shù)據(jù)報(bào)表模板。
4、自定義用戶界面
VSTO提供Windows窗體控件,幫助你為Office解決方案開發(fā)富用戶界面(UI)。通過使用大量各種各樣的控件集,VSTO開發(fā)者能夠?yàn)橛脩魟?chuàng)建豐富的數(shù)據(jù)視圖。每種和每類Windows窗體控件都有自已的屬性、方法和事件設(shè)置,適合不同的需要。
通過在文檔和任務(wù)窗格里使用控件,VSTO使創(chuàng)建豐富的用戶界面更容易。例如,可以創(chuàng)建一個活潑的按鈕命令產(chǎn)生套用信函。又如,假設(shè)公司在其服務(wù)器上存儲了數(shù)據(jù)內(nèi)容,用戶在處理文檔時(shí)想從服務(wù)器中引用一些內(nèi)容并且不想離開當(dāng)前編輯的文檔,使用VSTO可以使服務(wù)器內(nèi)容在文檔的任務(wù)窗格中可用而無須干擾用戶當(dāng)前的工作。
5、智能標(biāo)記
智能標(biāo)記是Office應(yīng)用程序能夠在文檔里識別的字符串。啟用智能標(biāo)記,Word試圖識別文檔中某類數(shù)據(jù),通過紫色的點(diǎn)劃線來顯示。單擊智能標(biāo)記,出現(xiàn)特定數(shù)據(jù)類型的可能操作的列表。VSTO給Office開發(fā)者提供了對象模型,可用于為文檔和工作簿創(chuàng)建智能標(biāo)記。
6、WPF支持
WPF能用于創(chuàng)建豐富的、具有吸引力的外觀。在VSTO環(huán)境中可使用WPF。VSTO的可視設(shè)計(jì)器支持Windows窗體和WPF控件的使用。WPF為創(chuàng)建基于客戶和基于網(wǎng)絡(luò)的應(yīng)用程序提供了可靠的編程模型,并且在商務(wù)邏輯和UI之間呈現(xiàn)清楚的分離。
7、可視化的設(shè)計(jì)器
VSTO為Office應(yīng)用程序提供了可視化的設(shè)計(jì)器,例如Word 2007、Excel 2007,顯示在Visual Studio IDE里。在Visual Studio IDE里創(chuàng)建窗體只需拖動并放置窗體到Office文檔中。開發(fā)者能夠訪問Visual Studio IDE中的許多工具和功能,例如智能感知、拖放控件和數(shù)據(jù)源。VSTO也提供了Ribbon可視化設(shè)計(jì)器,用于通過使用簡單的.NET應(yīng)用程序編程模型自定義Office功能區(qū)和編程。
8、安全改進(jìn)
VSTO安全模型包含從Office信任中心和Visual Studio Tools for Office運(yùn)行時(shí)的廣泛支持,幫助解決VBA代碼通常涉及的安全問題。VBA安全模型有許多缺點(diǎn),容易使用VBA開發(fā)許多病毒。為了安全地運(yùn)行VBA宏,用戶機(jī)器中必須設(shè)置安全性為高,并且使用數(shù)字簽名。更重要的是,這些操作都需要用戶手工執(zhí)行。在VSTO 3.0中,已經(jīng)修改了安全模型。VSTO創(chuàng)建了安全策略,每次創(chuàng)建工程時(shí)必需在計(jì)算機(jī)中運(yùn)行和調(diào)試解決方案,在發(fā)布前簽署程序集。
9、可維護(hù)性
為Office系統(tǒng)開發(fā)的VSTO解決方案更容易維護(hù)。更新已發(fā)布的解決方案,修改代碼,以及更新單個的程序集將幫助更多的資源在相同文檔的多個副本里做相同的事情。所有代碼將駐留在程序集里。在使用宏時(shí),腳本駐留在Office文檔里,無論何時(shí)想更新代碼,必須修改每一個包含代碼的文檔。使用VSTO 3.0,能夠通過簡單地修改代碼和更新單個的程序集來管理應(yīng)用程序級加載項(xiàng),無須在相同文檔的多個副本中做同樣的事情。
VSTO 3.0的新功能
VSTO 3.0具有大量的新功能,也增強(qiáng)了現(xiàn)有的關(guān)鍵功能。下面列出在VSTO 3.0中可用的改進(jìn)Office解決方案開發(fā)工作的一些關(guān)鍵的新功能:
- 文檔級的定制:文檔級的定制是自定義駐留在單個文檔里的解決方案。使用VSTO的文檔級定制是新版VSTO中添加的關(guān)鍵功能之一。VSTO支持Word、Excel、InfoPath的文檔級解決方案。
- 應(yīng)用程序級加載項(xiàng):應(yīng)用程序級加載項(xiàng)被創(chuàng)建為托管代碼程序集,當(dāng)相關(guān)的Office應(yīng)用程序啟動時(shí)將裝載應(yīng)用程序級加載項(xiàng)。VSTO 3.0提供了直接編程訪問.NET對象和控件。
- 功能區(qū)可視化設(shè)計(jì)器:功能區(qū)是組織相關(guān)命令的新方式。實(shí)際上,它們作為控件顯示??梢暬O(shè)計(jì)器提供高級工具并支持更容易地創(chuàng)建和設(shè)計(jì)自定義功能區(qū)。
- 任務(wù)窗格:任務(wù)窗格幫助用戶快速且更方便地訪問信息。取決于用戶的喜好,可以在Office應(yīng)用程序用戶界面中顯示或隱藏任務(wù)窗格。
- 窗體區(qū)域:窗體區(qū)域是自定義標(biāo)準(zhǔn)的Outlook 2007用戶界面的新方式。例如,在Visual Studio 2008中,VSTO 3.0提供了基于Windows窗體的設(shè)計(jì)和開發(fā)環(huán)境。這允許Office開發(fā)者在單個的開發(fā)環(huán)境中設(shè)計(jì)和編碼新的Outlook窗體區(qū)域,將大多數(shù)Windows窗體引入到Outlook的宿主環(huán)境中。
- 工作流支持:VSTO提供可視化設(shè)計(jì)器支持開發(fā)者使用Visual Studio 2008創(chuàng)建工作流。一個向?qū)нx項(xiàng)用于創(chuàng)建工作流,并且直接將其賦值到發(fā)布位置。
- SharePoint支持:VSTO中的新對象幫助開發(fā)者在Office應(yīng)用程序中為SharePoint編程??梢允褂肰STO擴(kuò)展Office客戶端應(yīng)用程序,使用SharePoint Portal將它們整合到企業(yè)解決方案中,例如客戶關(guān)系管理、供應(yīng)鏈管理以及其他類似的應(yīng)用程序。
- 使用ClickOnce部署:ClickOcne部署技術(shù)允許基于Windows應(yīng)用程序使用最小程度的用戶交互來部署和運(yùn)行。安全區(qū)將限制使用ClickOnce技術(shù)部署的應(yīng)用程序的許可和操作。
- Word內(nèi)容控件:內(nèi)容控件是容器,其中能放置特定類型的內(nèi)容,例如日期、列表、圖片或文本。
- 富用戶界面控件:能夠創(chuàng)建帶有豐富且容易訪問的用戶界面的Office解決方案。例如,可以創(chuàng)建帶有Windows控件的任務(wù)窗格,和其它數(shù)據(jù)源交互數(shù)據(jù)。
- 支持其他的Office應(yīng)用程序。
VSTO架構(gòu)
VSTO應(yīng)用程序由Office應(yīng)用程序和.NET程序集組成。
- Office應(yīng)用程序:VSTO公布了對象,使之更容易編寫Office應(yīng)用程序。包括擴(kuò)充應(yīng)用程序和處理應(yīng)用程序使用的數(shù)據(jù)的對象。要理解的重點(diǎn)之一是Word和Excel編輯器提供了Word或Excel文檔視圖。使用這些編輯器,可以編輯和格式文檔,就像直接在Office應(yīng)用程序中操作一樣。
- .NET程序集:包含中間語言(IL)代碼。描述程序的二進(jìn)制信息的元數(shù)據(jù)存儲在內(nèi)存中,是.NET程序集的一部分。除了元數(shù)據(jù)信息外,程序集也有稱作Manifest的專門的文件。Manifest包含程序集當(dāng)前版本的信息。
VSTO架構(gòu)的核心組件是文檔級定制、應(yīng)用程序級加載項(xiàng)和文檔級的數(shù)據(jù)模型。VSTO的新架構(gòu)允許編寫和運(yùn)行帶有宏的Office應(yīng)用程序。
上圖表明Office 2007解決方案邏輯架構(gòu)。VSTO能夠使Office開發(fā)者為InfoPath、Word和Excel文檔創(chuàng)建文檔級定制,而對于Outlook、PowerPoint和Visio,VSTO不支持文檔級定制。
VSTO提供了非常好的面向?qū)ο缶幊讨С?。VSTO提供了對C#編程語言的完全支持,允許在Office解決方案中執(zhí)行面向?qū)ο缶幊?。面向?qū)ο缶幊淌且环N軟件編程方式,程序結(jié)構(gòu)基于對象之間的交互,以執(zhí)行任務(wù)。
VSTO的架構(gòu)設(shè)計(jì)幫助Office開發(fā)者實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)的分離,提供開發(fā)應(yīng)用程序級解決方案的增強(qiáng)支持,并且公布了多種對象使Office開發(fā)者更容易編寫Office應(yīng)用程序。開發(fā)應(yīng)用程序級和文檔級的解決方案是VSTO中另一項(xiàng)架構(gòu)改進(jìn)。
開發(fā)方式
使用VSTO 3.0創(chuàng)建的解決方案類型分成兩類:文檔級解決方案和應(yīng)用程序級解決方案。
1、面向文檔的方式
面向文檔的方式被專門設(shè)計(jì)為接觸Word或Excel文檔的核心并包含原先設(shè)計(jì)的文檔不支持的信息。VSTO 3.0支持面向文檔的方式創(chuàng)建Word、Excel和InfoPath。實(shí)際上,面向文檔的方式提供指向非常特定任務(wù)的文檔,不會影響到文檔駐留的應(yīng)用程序。
2、面向應(yīng)用程序的方式
VSTO 3.0具有為Office 2007套件中所有的應(yīng)用程序創(chuàng)建面向應(yīng)用程序的方式的能力。可以創(chuàng)建和執(zhí)行向Office應(yīng)用程序中添加了各種功能和特征的加載項(xiàng)。
VSTO開發(fā)和部署
VSTO系統(tǒng)3.0運(yùn)行時(shí),運(yùn)行Office 2007解決方案的首要需求,被內(nèi)置到VSTO中。而VSTO 3.0被內(nèi)置到Visual Studio 2008安裝中。
使用VSTO創(chuàng)建Office應(yīng)用程序
在Visual Studio 2008中包括VSTO,也就是說,Microsoft首次將Visual Studio 2008和VSTO 3.0綁在了一塊。在VSTO 3.0中,Microsoft Office工具變得更加強(qiáng)大,因?yàn)镸icrosoft使Office開發(fā)環(huán)境對開發(fā)者更加友好,通過創(chuàng)建新的開發(fā)環(huán)境幫助開發(fā)者創(chuàng)建Office應(yīng)用程序里的功能的解決方案。因此,Office開發(fā)者能夠容易地創(chuàng)建解決方案,為他們的商務(wù)做更多工作,另一方面,重復(fù)使用Office應(yīng)用程序中現(xiàn)有的可用功能,從而減少成本開支。
VSTO甚至可以整合現(xiàn)有的ERP系統(tǒng),增進(jìn)企業(yè)的成長??梢允褂肰STO擴(kuò)展Office客戶端應(yīng)用程序,將VSTO與SharePoint Portal整合來提供企業(yè)解決方案,例如Office商務(wù)應(yīng)用程序,包括客戶關(guān)系管理、供應(yīng)鏈管理,等等。
1、VSTO開發(fā)環(huán)境
VSTO 3.0不是單獨(dú)的安裝包,當(dāng)安裝Visual Studio 2008時(shí),VSTO 3.0將與其它的框架和所需的組件一起安裝。
2、包(Package)
當(dāng)安裝Microsoft VSTO 3.0分發(fā)包時(shí)安裝VSTO運(yùn)行時(shí)。VSTO 3.0分發(fā)包是將Visual Studio 2008和.NET框架的功能和生產(chǎn)力帶給建立在Office 2007應(yīng)用程序中的商務(wù)解決方案的框架。
上圖說明了VSTO的版本歷史,以及各版本之間的一些主要的不同。當(dāng)前版本的VSTO僅支持編程語言VB.NET和C#。我們期望VSTO的下一個版本能支持其它的編程語言。
3、Visual Studio整合
為了容易創(chuàng)建定制的用戶界面,VSTO 3.0在Visual Studio里提供了Office應(yīng)用程序的可視化表現(xiàn)。VSTO 3.0很好地與Visual Studio 2008整合在一起,為Office開發(fā)者提供了完整的開發(fā)和部署Office解決方案的工具。Visual Studio 2008能夠使開發(fā)者創(chuàng)建可升級的Office商務(wù)應(yīng)用程序、改變主要的Office UI特征、支持工作流、以及創(chuàng)建更容易的部署。
下面,看看Visual Studio 2008中Office 2007應(yīng)用程序的典型的VSTO項(xiàng)目模板。
Visual Studio 2008已經(jīng)打包了使用VSTO創(chuàng)建Office解決方案所需要的全部VSTO 3.0組件。當(dāng)安裝Visual Studio 2008時(shí),所有相關(guān)的安裝,包括VSTO 3.0的項(xiàng)目模板、Office開發(fā)引用和其它組件,都被安裝并完全整合到新的Visual Studio 2008開發(fā)環(huán)境中。
4、創(chuàng)建VSTO解決方案
在開發(fā)和傳遞創(chuàng)新的Microsoft技術(shù)方面,Visual Studio 2008是非常快速、協(xié)同性好和靈活的,包括增強(qiáng)的語言和數(shù)據(jù)功能。Office 2007中支持的C#和VB.NET是增強(qiáng)的語言特性之一,并且容易與其它數(shù)據(jù)源交互數(shù)據(jù),例如Microsoft SQL服務(wù)器,是數(shù)據(jù)特性之一。這些特性確保開發(fā)者能夠快速地創(chuàng)建連接的應(yīng)用程序,傳遞下一代軟件實(shí)踐,以及克服應(yīng)用程序軟件開發(fā)挑戰(zhàn)。
上圖表現(xiàn)了Office解決方案的開發(fā)環(huán)境。在圖中,客戶端代表開發(fā)環(huán)境機(jī)器,在Visual Studio 2008里面的VSTO 3.0代表VSTO整合在Visual Studio中,Office 2007客戶端工具是Office應(yīng)用程序,包括Word、Excel、InfoPath等,應(yīng)該被安裝在客戶端機(jī)器上。
使用Visual Studio 2008開發(fā)環(huán)境能夠創(chuàng)建應(yīng)用程序級、數(shù)據(jù)中心解決方案。數(shù)據(jù)中心解決方案是集中于數(shù)據(jù)操作和數(shù)據(jù)存儲的功能。
Visual Studio 2008開發(fā)環(huán)境使得開發(fā)帶有主要的Office 2007系統(tǒng)特征設(shè)計(jì)時(shí)和運(yùn)行時(shí)支持的解決方案成為可能,例如功能區(qū)、自定義任務(wù)窗格、文檔級解決方案、Outlook窗體區(qū)域,等等。
功能區(qū)是Office應(yīng)用程序中表現(xiàn)菜單項(xiàng)的新方式。在新開發(fā)環(huán)境中,有可視化設(shè)計(jì)器,能夠拖拉功能區(qū)里的控件,容易設(shè)計(jì)自定義的功能區(qū)菜單。甚至數(shù)據(jù)相關(guān)的操作,例如創(chuàng)建數(shù)據(jù)連接,有數(shù)據(jù)連接向?qū)菀讋?chuàng)建數(shù)據(jù)連接。
在創(chuàng)建的Office項(xiàng)目解決方案中,可以看到列出的引用,例如System.AddIn、System.Core等等,它們被自動裝載作為項(xiàng)目模塊的一部分。這使得開發(fā)者更容易開始編程,不需要像以前一樣手工添加引用和驗(yàn)證解決方案。
通過使用基于XML的數(shù)據(jù)/視圖分離和編程性,Office開發(fā)者能夠?qū)⑸虅?wù)數(shù)據(jù)整合到文檔里。
5、查看IDE窗口
Visual Studio是一款極其優(yōu)秀的產(chǎn)品,專門為開發(fā)者設(shè)計(jì),是開發(fā)者最常使用的開發(fā)工具之一,內(nèi)置有IDE,能夠使開發(fā)者使用Microsoft技術(shù)創(chuàng)建不同類型的應(yīng)用程序。通常,IDE由源代碼編輯器、編譯器和調(diào)試器組成。默認(rèn)情況下,Microsoft Visual Studio IDE提供智能感知、調(diào)試、編譯、訪問控件、以及創(chuàng)建解決方案的能力。最新增強(qiáng)了功能區(qū)設(shè)計(jì)器、拖放控件、并為Office應(yīng)用程序增強(qiáng)了調(diào)試功能,縮減了開發(fā)時(shí)間,提高了開發(fā)者的效率。
內(nèi)置的VSTO對象模型被設(shè)計(jì)來支持.NET,許多常用的功能被打包且很好地整合了。在新版本中,諸如Word、Excel和InfoPath的目標(biāo)窗口工具被直接整合到IDE界面里,幫助Office開發(fā)者無須對象模型的高級知識就能創(chuàng)建解決方案。對于Word 2007和Excel 2007,VSTO在Visual Studio IDE中也有可視化設(shè)計(jì)器。
上圖中,可以看到Visual Studio 2008中如何顯示Excel 2007可視化設(shè)計(jì)器。同樣,Visual Studio 2008 IDE也提供了可視化功能區(qū)設(shè)計(jì)器,允許Office開發(fā)者使用拖放界面來設(shè)計(jì)功能區(qū),使用標(biāo)準(zhǔn)的.NET代碼與功能區(qū)交互。
上圖顯示Office解決方案開發(fā)里功能區(qū)的可視化設(shè)計(jì)器,通過提供拖放控件和容易訪問資源,簡化了功能區(qū)開發(fā)過程。同樣,Visual Studio 2008簡化并加速了操作窗格、指定文檔的任務(wù)窗格、創(chuàng)建指定應(yīng)用程序的自定義任務(wù)窗格以及Outlook窗體區(qū)域設(shè)計(jì)器的開發(fā)過程。
6、調(diào)試
調(diào)試是軟件開發(fā)中最重要的任務(wù)之一,并且是所有開發(fā)者在他們的開發(fā)過程中會遇到無數(shù)次的一項(xiàng)任務(wù)。在Visual Studio IDE中,開發(fā)者為調(diào)試.NET應(yīng)用程序有幾種可用的調(diào)試選擇。
Visual Studio 2008為使用VSTO 3.0的Office解決方案開發(fā)提供了一組強(qiáng)大的創(chuàng)建和調(diào)試工具,與VSTO 2.0相比是一項(xiàng)大的改進(jìn)。在創(chuàng)建配置時(shí),開發(fā)者能夠選擇他們想創(chuàng)建的組件,排除他們當(dāng)前想避免創(chuàng)建的組件。開發(fā)者可以像項(xiàng)目一樣,靈活地為解決方案創(chuàng)建配置。
我們期望下一版本能帶來什么?
基于筆者的分析和作為一名VSTO開發(fā)者的經(jīng)驗(yàn),我們期望下一版本的VSTO:
- 目前,VSTO 3.0支持VB.NET和C#開發(fā)Office解決方案。在將來的VSTO版本中,我們期望支持其他語言,例如C++,這將幫助C++開發(fā)者創(chuàng)建VSTO解決方案。
- VSTO 3.0智能標(biāo)記僅限于Office應(yīng)用程序中文檔級解決方案,不能在應(yīng)用程序級解決方案中使用,因此我們期望Microsoft在將來的VSTO版本中添加這項(xiàng)功能。
- 使用VSTO和Visual Studio環(huán)境在Office應(yīng)用程序內(nèi)創(chuàng)建工作流活動是我們在下一版本中期望的功能。數(shù)據(jù)和應(yīng)用程序協(xié)同工作的能力是Windows工作流的核心,在VSTO中的改進(jìn)將幫助我們重新組織面向工作流的開發(fā)。
- 應(yīng)該在將來的版本中在Visio應(yīng)用程序中也添加使用VSTO創(chuàng)建文檔級的自定義任務(wù)窗格的功能。這將對Visio用戶管理自定義形狀是有用的。
注:本文初譯自《VSTO 3.0 for Office 2007 Programming》,有刪節(jié),僅供參考。不知道是作者想作最詳細(xì)的介紹,還是其他什么原因,我覺得本章中有許多重復(fù),且有前后不一致的地方,不過仍不失為一篇很好的全面介紹VSTO 3.0的文章。