第一个VSTO程序

说明:创建 Excel 插件项目。

这里,我将会使用Visual Studio 2010 所带的VSTO(Visual Studio Tools for Office)来开发这个插件。此外,Excel 2007也是必须的。

 

ps:插件(AddIn),实际上是一个组件(COM)。插件安装到系统后,会在Office的相应文件夹HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins(以WORD为例)上标记此插件的名称。载入方式等。而在组件注冊的过程中此插件的的运行程序的全路径也会在注冊表中标记,依照插件ID在注冊表中查找,就能够找到这些注冊表项。

其有用VS.NET来开发Office插件。是不须要关心这些问题的,由于在建立插件项目的同一时候。会建立一个此插件项目的安装项目。用此安装项目就能够自己主动运行在注冊表中加入这些项目。


步骤

1、打开Visual Studio 2010。文件》新建》项目,新建一个项目。建立一个共享的插件,选择Shared Add-in。

2、确定项目文件夹之后,点击ok。会出现插件生成向导。


选择开发语言,然后点击Next》


选择须要嵌入这个插件的应用程序。这里选择Excel,点击Next》


在两个编辑框中输入插件的名称和描写叙述,点击Next》


第一个选项。表示是否在应用程序启动的时候。启动这个插件。

第二个选项表示这个插件是全部用户使用,还是只当前用户使用。


选中这两个检查框,点击Next》点击Finish。
最后生成两个项目,在右边的Solution Explorer中。一个是插件项目MyAddin1。还有一个是插件安装项目MyAddin1Setup。

3、開始编写Hello Away!

在插件中须要对Excel对象进行操作。须要首先加入一个引用。


选择COM页,在以下的组件中选择Microsoft Excel 12.0 Object Library。(excel版本,2003是11.0,2007是12.0,2010是14.0)


加入成功之后,在插件项目中的Connect.cs文件里,加入using

插件项目中的Connect.cs,对Excel的操作就是从这个文件開始的。

当中OnConnection()事件是启动插件的地方。

public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
{
	applicationObject = application;
	addInInstance = addInInst;
}
我们能够在OnStartComplete()事件中写代码,比方说绑定事件。


首先我们要获得Excel.Application这个类。在OnConnection()中已经得到applicationObject,在这里转化一下就能够了。

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

接着。我们就能够绑定excelApp这个对象的事件了,我们能够通过智能感知,非常方便的得到excelApp能够使用的事件。

在这里我们绑定SheetSelectionChange,选中它。点击鼠标。

在这个事件后面加入+=。系统会自己主动提示要添加的内容。


提示出现后,点击Tab键。会自己主动完毕这些代码


再点击一次Tab键。将须要绑定的事件excelApp_SheetSelectionChange也自己主动完毕。

public void OnStartupComplete(ref System.Array custom)
{
   Excel.Application excelApp = (Excel.Application)applicationObject;
   excelApp.SheetSelectionChange += new Excel.AppEvents_SheetSelectionChangeEventHandler(excelApp_SheetSelectionChange);
}

void excelApp_SheetSelectionChange(object Sh, Excel.Range Target)
{
   throw new NotImplementedException();
}
接着完毕excelApp_SheetSelectionChange这种方法就能够。

老规矩。弹出一个消息框就对了。  

要弹出消息框,首先要加入引用,用相同的方法加入System.Windows.Forms.


然后加入using

using System.Windows.Forms;
在excelApp_SheetSelectionChange中加入代码
void excelApp_SheetSelectionChange(object Sh, Excel.Range Target)
{
     MessageBox.Show(" Hello Away !");
     //throw new NotImplementedException();
}
如今就能够编译这两个项目了,选中MyAddin1Setup这个项目,点击鼠标右键》又一次生成。

等待Rebuild成功之后。就能够Install安装这个插件了。

安装好之后,打开Excel体验一下了。


当点击还有一个单元时,就会弹出一个消息框“ Hello Away ! ”。



欢迎交流 http://blog.csdn.net/ycwol/article/details/39966505

posted on 2017-04-28 08:24  ljbguanli  阅读(196)  评论(0编辑  收藏  举报