`
tubaluer
  • 浏览: 1445821 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

【VSTO】创建 Excel 2007 AddIn (2. 使用 Ribbon 和自定义Pane View)

 
阅读更多

在之前的文章里介绍了怎么添加一个自定义CommandBar,接下来介绍如何加入一个自定义Pane,并在Pane上加入并利用 .net winform 控件。本次要实现一个Excel插入图片的预览补助功能,先上张图。



在 VSTO 里实现这个功能其实蛮简单,首先添加一个 UserControl :


然后在 ThisAddIn_Startup 里,将 PicturePaneView 实例化并加入 CustomTaskPanes 中即可。

UserControl 中的所有操作都和 Winform 开发中无异,这里就不赘述了。 在 View 里,可以通过Globals.ThisAddIn.Application 获得 Excel 实例。
和 Excel 的交互:通过双击 DataGridView 的一条数据(图片名),将图片插入 Excel,代码如下:

通过 Excel.Application. ActiveSheet/Excel.Application.ActiveCell 取得当前激活的 WorkSheet 和 Cell。并在 ActiveCell 处插入选中的图片。

OK,目前为止一个图片浏览扩展的Excel PaneView 就基本上完成了,但还存在一点小问题:PaneView 现在只是在 AddIn 时加载,如果用户点击关闭了就没有UI能提供加载了。接下来追加一个 Ribbon控件来控制 PaneView 的显示。

从 Office Ribbin Controls 里拖一个Button控件放到 Ribbon面板上,然后添加事件。不过直接是访问不到自定义 View 的实例的,需要ThisAddIn公开这个属性。

然后在 Ribbon的 Click 事件处理中,调用 CustomPane.Visible = True

另外,通过 RibbonButton 的 Image 显示图标。运行一下:

最后赞一下 VSTO 这种强大的扩展机制。只要有想法就能轻松在 Office 里实现非常酷的功能。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics