VSTO踩坑记录(1)- 从零开始开发outlook插件
概述
vsto是微软提供的一种开发office插件的一种技术,现在看来有点落后了,不过项目需要的情况下,总不能跟领导说这活干不了吧?附上官方文档
安装好必备的开发环境,我用的是vs2022,在安装程序里勾选“.Net 桌面开发” 跟 “Offic开发”,然后就可以在vs里新建一个VSTO项目了。
新建项目之后,我们先创建一个“功能区”,功能区即是office界面上方的一排按钮。
-
右键项目 - 添加新项 - 选择功能区(可视化设计器)
-
从工具箱的office功能区控件拖拽一个button到group1上,目前效果如下图
现在功能区创建好了,下一步要让它显示在我们需要的位置上:
-
右键tab1的属性-修改OfficeId为TabMail,这个属性决定了功能区在哪个功能的地方出现,例如TabMail指的是“开始”界面的邮箱tab出现
-
右键ribbon1的属性 - 修改RibbonType的属性,这个属性决定了这个功能区在哪个界面出现,Microsoft.Outlook.Explorer指的是在outlook“开始”界面显示。
现在F5调试,会自动启动outlook,从上方的功能区就能看到我们刚刚创建的按钮
这里说一下这些属性的值该怎么获取
-
OfficeId的值:
下载官方的ID文档
解压出来会有很多outlook相关的excel文件,随意打开其中一个,筛选tak类型。
ControlName便是OfficeId需要的值,这里比较坑的一点是,需要自行查找你所需要的属性值,这些值分布在了各个文档当中,需要耐心的查找。
-
RibbonType的值按照字面意思可以很容易猜出来所以不再赘述。
最后新建一个winform窗体,然后给刚刚新增的button1添加一个单击事件,添加如下代码
点击查看代码
private void button1_Click(object sender, RibbonControlEventArgs e)
{
var from = new Form1();
from.ShowDialog();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异