VSTO 是微软用于开发 Office 插件的一种技术,跟 VBA 比较起来,VSTO 开发更加简单,功能更加强大。本系列博客介绍利用 VSTO 开发 Excel 插件的方法。VSTO 开发的 Excel 插件 (Add-in)是 COM 加载项的一种。新的开发技术可以考虑 Excel Web Add-In。VSTO 与 Web Add-In 的区别可以参考:
Office Add-in开发技术及其发展 - 知乎
。
开发环境:Visual Studio 2019
新建一个 Excel VSTO Add-In 项目,因为 Visual Studio 2019 支持的项目类型较多,可以在界面中限定开发语言、平台和项目类型进行筛选,以方便定位:
点击 「Next」,指定 Solution 和 Project 的名称:
点击「Create」按钮,创建一个新的项目。这个空的项目已经可以运行,但没有界面看不出效果,所以我们添加一个 Ribbon,这样启动的时候,Excel 就多出一个页签。选中解决方案,右键,Add New Item,选择 Ribbon:
Ribbon 是一个界面的容器,初始的 Ribbon 包括一个 tab,tab 包含一个 group。将 tab1 的 Label 属性更改为 VSTO Test,将 group1 的 Label 属性改为 : 自定义组。
在自定义组中,增加一个 Button 控件,Label 属性改为 Hello,并且实现 Click 事件。在该事件中,对当前单元格写入 Hello World 字符串:
-
当前的 Excel Application: Globals.ThisAddIn.Application
编译运行,启动 Excel 后,Ribbon 菜单多出了 VSTO Test 页签。点击 Hello 按钮,在当前单元格写入了 Hello World 字符串。
当我们编译运行后,之后启动 Excel,该插件也被自动加载运行。对插件的
启用
和
停用
可以由两个入口来设置:
出现
COM 加载项
对话框,在这里启用和停用。
方法二:通过菜单【文件】-> 【选项】,打开 Excel 选项。切换到加载项,在这里可以跳转到 COM 加载项,进入上面的界面中。
Gitee :VSTO Hello World
①
VSTO
是Visual Studio Tools for Office的缩写
②
VSTO
开发
的目的,就是制作Office的COM加载项
③VBA来
开发
Office,Visual C#融入到
VSTO
项目中环境配置:
电脑系统:XP ,Win7,······
Office:2003、2007、·····
Visual Studio(C# CSharp):2005-2
01
5······此处以 vs 2008和2
01
2为例。
vs 2008 安装的时候请一定要勾选如下图所示 Visual C# 和Visual S
《
VSTO
开发
者指南》是为有兴趣把技能迁移到下一代Office
开发
的VBA
开发
者写的。你可以得到编写Word 2003、
Excel
2003和Outlook 2003托管代码程序的易懂且实用的介绍,还将学到如何用
VSTO
2005 SE为最受欢迎的Office 2003和Microsoft Office 2007应用程序创建插件。作为这方面的专家,作者通过丰富的代码示例来展示受欢迎的
VSTO
功能,例如智能标记和操作窗格。示例代码也向你演示了如何定制Microsoft Office 2007新的uI功能,包括功能区、自定义任务窗格和Outlook窗体区域。
Visual Studio Tools for Office(
VSTO
)的目标受众是“专业
开发
者”。这个术语有多重含义,而我们听到的最受认可的定义是“通过写代码获取报酬的人”。换句话说,这是他的主业。他不是部门
开发
者,比如说,把写
Excel
宏作为他的会计任务的一部分的会计人员,或者定制Word来增加他的生产力的办公人员。相反,他是一个有兴趣把Microsoft Office作为
开发
平台的.NET
开发
者。 我们相信传统的Office
开发
者也会对
VSTO
感兴趣。在加入Microsoft之前,我们俩都是VBA
开发
者,定制Office应用程序,并且我们非常有兴趣了解托管代码。在这方面,我们不认为我们是唯一的。有上百万VBA
开发
者,许多都有兴趣学习下一代Office
开发
。现在的
VSTO
图书和文档通常都不是为VBA
开发
者写的;它假设
开发
者熟悉Visual Studio、面向对象编程和.NET Framework。这就不难理解它把重点更多地放在
VSTO
的功能和如何使用笨重的Office对象模型。 我们想为VBA
开发
者写一本书。虽然你可能不熟悉.NET编程,但你有一个重要的优势:Office对象模型的知识。作为一个Office
开发
者,你很可能非常熟悉Office应用程序,在操作Office对象模型方面也有丰富的经验。我们认为学习托管代码的最佳环境是你已经熟悉的地方:Office
开发
。
VSTO
把Office
开发
带到.NET的世界,和VBA相比,它有优点也有缺点。使用
VSTO
,你可以更好地定制Word、
Excel
和Outlook,比如说,创建自定义任务窗格、向文档添加智能标记和把文档上的对象绑定到数据源。使用
VSTO
2005 SE,你可以为六个Office应用程序创建插件、定制新的2007 Microsoft Office System的功能区和创建应用程序级别的自定义任务窗格。 我们有幸和为
VSTO
设计、编码、测试和写文档的人一起工作,并从他们那里学到了很多。我们得到了内部人士对
VSTO
的看法,我们希望以一种易懂和有趣的方式把这些信息传递给你。
我们的目标:
在这次的
系列
文章中,我们通过一些小例子,来循序渐进的学习
VSTO
for
excel
这个已经出现很久的技术,在平常的使用时,我很少发现比较全面或者具体的文章作介绍,当然,除了MSDN。
在我的博客开始这个
系列
,一为了巩固自己的相关技术知识,二也是为了和大家一起交流分享自己的技术心得和体会,希望能够获得更多宝贵的经验!
这个
系列
第一期大致有如下文章:
Getting...
VSTO
是微软用于
开发
Office插件的一种技术,相比于VBA,
VSTO
开发
更加简单,功能更加强大。通过
VSTO
开发
,可以创建
Excel
插件(Add-in),它是COM加载项的一种。与编译运行后启动
Excel
,你可以看到Ribbon菜单多出了
VSTO
Test页签。点击Hello按钮,会在当前单元格写入Hello World字符串。
VSTO
开发
主要利用
Excel
的对象模型来实现,也可以为
Excel
自定义一个选项卡和上下文菜单。你可以通过Globals.ThisAddIn.Application来引用当前的
Excel
应用程序。
总结来说,
Excel
VSTO
是一种用于
开发
Excel
插件的技术,通过利用
Excel
的对象模型和
VSTO
的功能,可以实现强大的
Excel
解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>