小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VSTO 開發(fā)插件的相關(guān)簡介

 實(shí)力決定地位 2018-02-27

 

這里,我將會使用Visual Studio 2010 所帶的VSTO(Visual Studio Tools for Office)來開發(fā)這個插件,此外,Excel 2007也是必須的。

ps:插件(AddIn),實(shí)際上是一個組件(COM),插件安裝到系統(tǒng)后,會在Office的對應(yīng)目錄HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins(以WORD為例)上標(biāo)記此插件的名稱,加載方式等,而在組件注冊的過程中此插件的的執(zhí)行程序的全路徑也會在注冊表中標(biāo)記,按照插件ID在注冊表中查找,就可以找到這些注冊表項(xiàng)。其實(shí)用VS.NET來開發(fā)Office插件,是不需要關(guān)心這些問題的,因?yàn)樵诮⒉寮?xiàng)目的同時,會建立一個此插件項(xiàng)目的安裝項(xiàng)目,用此安裝項(xiàng)目就可以自動執(zhí)行在注冊表中添加這些項(xiàng)目。

步驟

1、打開Visual Studio 2010。文件》新建》項(xiàng)目,新建一個項(xiàng)目,建立一個共享的插件,選擇Shared Add-in。

2、確定項(xiàng)目目錄之后,點(diǎn)擊ok,會出現(xiàn)插件生成向?qū)А?/p>


選擇開發(fā)語言,然后點(diǎn)擊Next》


選擇需要嵌入這個插件的應(yīng)用程序。這里選擇Excel,點(diǎn)擊Next》


在兩個編輯框中輸入插件的名稱和描述,點(diǎn)擊Next》


第一個選項(xiàng),表示是否在應(yīng)用程序啟動的時候,啟動這個插件;

第二個選項(xiàng)表示這個插件是所有用戶使用,還是僅僅當(dāng)前用戶使用。


選中這兩個檢查框,點(diǎn)擊Next》點(diǎn)擊Finish。
最后生成兩個項(xiàng)目,在右邊的Solution Explorer中,一個是插件項(xiàng)目MyAddin1,另一個是插件安裝項(xiàng)目MyAddin1Setup。

3、開始編寫Hello Away!

在插件中需要對Excel對象進(jìn)行操作,需要首先添加一個引用。


選擇COM頁,在下面的組件中選擇Microsoft Excel 12.0 Object Library。(excel版本號,2003是11.0,2007是12.0,2010是14.0)


添加成功之后,在插件項(xiàng)目中的Connect.cs文件中,添加using

插件項(xiàng)目中的Connect.cs,對Excel的操作就是從這個文件開始的。

其中OnConnection()事件是啟動插件的地方。

  1. public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
  2. {
  3. applicationObject = application;
  4. addInInstance = addInInst;
  5. }
我們可以在OnStartComplete()事件中寫代碼,比如說綁定事件。

首先我們要獲得Excel.Application這個類,在OnConnection()中已經(jīng)得到applicationObject,在這里轉(zhuǎn)化一下就可以了。

Excel.Application excelApp=(Excel.Application)applicationObject;

接著,我們就可以綁定excelApp這個對象的事件了,我們可以通過智能感知,很方便的得到excelApp可以使用的事件。

在這里我們綁定SheetSelectionChange,選中它,點(diǎn)擊鼠標(biāo)。

在這個事件后面添加+=,系統(tǒng)會自動提示要增加的內(nèi)容。


提示出現(xiàn)后,點(diǎn)擊Tab鍵,會自動完成這些代碼


再點(diǎn)擊一次Tab鍵,將需要綁定的事件excelApp_SheetSelectionChange也自動完成。

  1. public void OnStartupComplete(ref System.Array custom)
  2. {
  3. Excel.Application excelApp = (Excel.Application)applicationObject;
  4. excelApp.SheetSelectionChange += new Excel.AppEvents_SheetSelectionChangeEventHandler(excelApp_SheetSelectionChange);
  5. }
  6. void excelApp_SheetSelectionChange(object Sh, Excel.Range Target)
  7. {
  8. throw new NotImplementedException();
  9. }
接著完成excelApp_SheetSelectionChange這個方法就可以。

老規(guī)矩,彈出一個消息框就對了。

要彈出消息框,首先要添加引用,用同樣的方法添加System.Windows.Forms.


然后添加using

  1. using System.Windows.Forms;
在excelApp_SheetSelectionChange中添加代碼
  1. void excelApp_SheetSelectionChange(object Sh, Excel.Range Target)
  2. {
  3. MessageBox.Show(" Hello Away !");
  4. //throw new NotImplementedException();
  5. }
現(xiàn)在就可以編譯這兩個項(xiàng)目了,選中MyAddin1Setup這個項(xiàng)目,點(diǎn)擊鼠標(biāo)右鍵》重新生成。

等待Rebuild成功之后,就可以Install安裝這個插件了。

安裝好之后,打開Excel體驗(yàn)一下了。


當(dāng)點(diǎn)擊另一個單元時,就會彈出一個消息框“ Hello Away ! ”。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多