Visual Studio Tools for Office(VSTO)是一組開發(fā)工具,以
Visual Studio加載項(項目模板)的形式提供,并且
運行時允許
Microsoft Office2003及更高版本的Office應(yīng)用程序托管
.NET FrameworkCommon語言運行時(CLR)通過.NET公開其功能。 這使Office應(yīng)用程序的擴展可以使用
CLI兼容的語言編寫,并且可以使用.NET應(yīng)用程序中Office應(yīng)用程序的功能和用戶界面結(jié)構(gòu)。
[1]的Office 2003之前擴展到Office只允許創(chuàng)建
COM使用加載項
的Visual Basic或
VISUAL C ++和“開發(fā)”版還提供的是使
VBA開發(fā)人員能夠創(chuàng)建COM加載項。
VSTO取代Office 2000和Office XP Office開發(fā)版的開發(fā)者版本。在Office XP和VSTO僅適用于Office 2003及更高版本后,Office的開發(fā)人員版本已停止使用。VSTO運行時雖然是VSTO開發(fā)工具的一部分,但如果需要,也可以單獨下載。對于任何版本的
Microsoft Visual Studio中使用共享外接程序模板的Office 2000及所有更高版本,COM插件開發(fā)仍然可能。
VSTO插件(項目類型和控件)也是使用Visual Studio開發(fā)的。對于Visual Studio .NET 2003和Visual Studio 2005,它只能作為獨立版本使用,支持.NET語言,僅限于Visual Basic.NET和C#。它也被包含在
Visual Studio Team System 2005中。
稍后,Visual Studio Tools for Office 2005第二版(VSTO 2005 SE)作為Visual Studio Professional的免費插件發(fā)布,上面包含Office 2007和2003支持。但是,對于Visual Studio專業(yè)版,它僅安裝應(yīng)用程序級加載項; 它不會添加VSTO或Team System版本完整版中提供的文檔級定制或其他功能(操作窗格,主機控件,可視化文檔設(shè)計器等)。
[2] [3]Visual Studio Tools for Office 2012(VSTO 4.5),與Office 2013,Office 2010和Office 2007兼容。
本帖最后由 onlycxb 于 2018-2-25 09:26 編輯
與VBA比較
與VBA一樣,為VSTO編寫的代碼由獨立的虛擬機(CLR)執(zhí)行,該虛擬機位于Microsoft Office應(yīng)用程序內(nèi)。但是,與將代碼存儲在文檔文件本身中的 VBA不同,使用VSTO編寫的程序存儲在通過自定義屬性與文檔關(guān)聯(lián)的單獨CLI程序集中。
如果屬性存在,Microsoft Office托管CLR并將該屬性中指定的程序集加載到以文檔名稱命名的單獨的appdomain中。 除了支配VBA宏的基于數(shù)字簽名的權(quán)限模型外,VSTO應(yīng)用程序還受到.NET Framework 代碼訪問安全限制。
VSTO開發(fā)通常使用專業(yè)程序員使用的Visual Studio進行。每個調(diào)試會話都會重新啟動Office應(yīng)用程序。VBA通常是在Office應(yīng)用程序內(nèi)部開發(fā)的,不需要特殊工具。VBA還有一個宏記錄器,可以從用戶操作中生成VBA代碼,這對非專業(yè)程序員很有用。
與JavaScript API比較 Office擴展或插件可以使用VSTO和JavaScript API技術(shù)開發(fā)。VSTO是Microsoft .NET技術(shù),使用JavaScript API技術(shù)的加載項使用JavaScript,HTML和CSS。
JavaScript API加載項在iOS,手機,平板電腦和Windows等平臺上具有高度的可移植性。完整的授權(quán)流程和周期非常簡單,并且可以在加載項中進行維護。在使用圖表,剪貼畫和地圖的JavaScript API加載項中,交互式可視化是可行的。
JavaScript API插件開發(fā)是一項相對較新的技術(shù),并且隨Office 2016一起推出。API和功能有限并且受支持。
VSTO可以完全訪問所有Office對象模型。在Office客戶端上執(zhí)行所有操作是可行的。需要訪問本地機器文件系統(tǒng)和其他應(yīng)用程序的功能在VSTO中是可行和容易的。可以使用C?;蛉魏纹渌鸆LI編程語言來創(chuàng)建新的Office加載項。
VSTO兼容性和附加功能 VSTO 2003,2005,3.0和2010運行時以并排(SxS)模式安裝。VSTO 2005 SE運行時取代了早期的VSTO 2005運行時。VSTO 2010運行時與VSTO 3.0并行安裝,但是,Office 2007應(yīng)用程序也可以使用VSTO 2010運行時。只要安裝了開發(fā)者所用的運行時間,所有較早的VSTO解決方案都將繼續(xù)在較新版本的Office中運行。
針對較新的Office版本開發(fā)的VSTO解決方案在較舊的Office版本中無法使用,因為它們?nèi)鄙俦匾闹骰ゲ僮鞒绦蚣≒IA)
[7]。Office 2010應(yīng)用程序?qū)⑹冀K使用VSTO 2010 Runtime。設(shè)計時支持如下:
支持文件:
(一)Visual Studio 2010 Tools For Office Runtime
VSTO程序必須的運行環(huán)境。Office2013及以上版本已集成不需安裝,office2010、office2007需要安裝該環(huán)境軟件。
微軟官方下載地址(較大,38M):
http://download.microsoft.com/download/9/4/9/949B0B7C-6385-4664-8EA8-3F6038172322/vstor_redist.exe按操作系統(tǒng)是32位或者64位,也可以直接下載對應(yīng)的安裝包
http://vdisk.weibo.com/s/iFuUT2P ... ts_ref=iFuUT2P96ker,iFuUT2P96kLH
(二).Net Framework
1、XP安裝.net Framework,要求先安裝WIC(Windows圖像組件),微軟下載:
http://download.microsoft.com/download/f/f/1/ff178bb1-da91-48ed-89e5-478a99387d4f/wic_x86_chs.exe2、MicroSoft .net Framework 4.0 Client Profile或以上版本,
微軟官方下載地址:
http://download.microsoft.com/download/5/6/2/562A10F9-C9F4-4313-A044-9C94E0A8FAC8/dotNetFx40_Client_x86_x64.exe(在微軟下載中心
http://www.microsoft.com/zh-cn/download/ ,直接搜索最新版本下載,比如:.net Framework 4.5)
Win8自帶的是.net Framework 4.5版,所以不需要安裝,win7及更早版本自帶的版本偏低,所以需要安裝該環(huán)境軟件。