打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VSTO 开发插件的相关简介

 

这里,我将会使用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()事件是启动插件的地方。

  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()中已经得到applicationObject,在这里转化一下就可以了。

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

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

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

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


提示出现后,点击Tab键,会自动完成这些代码


再点击一次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这个方法就可以。

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

要弹出消息框,首先要添加引用,用同样的方法添加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. }
现在就可以编译这两个项目了,选中MyAddin1Setup这个项目,点击鼠标右键》重新生成。

等待Rebuild成功之后,就可以Install安装这个插件了。

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


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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VSTO开发入门,C#操作Excel对象篇 | 小斯想
在VSTO项目中使用Excel的撤销功能(一)
浅谈Excel开发:九 Excel 开发中遇到的常见问题及解决方法
WPF之导入导出Excel
解决ASP.NET导出Excel文件时 用Excel2007打开时弹出文件类型与扩展名不同的对话框
在Visual C++ 中调用Excel 2000
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服