用ribbon启动Outlook插件
本文关键字:插件 Outlook 启动 ribbon | 更新日期: 2023-09-27 18:08:02
我正在开发Outlook插件。基本上已经完成了,但有一件事我似乎不能明确指出来。在我的(Outlook Add In)项目中,我添加了一个新项目(Ribbon (Visual Designer)),我称之为EmailTransferRibbon。此功能区正在Outlook中显示。我希望当我点击这个功能区按钮时能够启动我的Outlook Add In。
我的Ribbon是这样的:
public partial class EmailTransferRibbon
{
private void EmailTransferRibbon_Load(object sender, RibbonUIEventArgs e)
{
}
private void btnEmailTransfer_Click(object sender, RibbonControlEventArgs e)
{
}
}
这是我想让功能区按钮导航到的位置:
public partial class ThisAddIn
{
EmailTransferForm emailTransferForm = new EmailTransferForm();
public void ThisAddIn_Startup(object sender, System.EventArgs e)
{
InboxFolderItemAdded();
Button btnRefresh = emailTransferForm.Controls.Find("btnRefresh", true).FirstOrDefault() as Button;
btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
}
}
我试图做这样的事情,但这是一个问题,因为RibbonControlEventArgs是不一样的系统事件args:
var addIn = Globals.ThisAddIn;
addIn.ThisAddIn_Startup(sender, e);
谁能告诉我如何启动我的添加按Ribbon按钮?谢谢!
你可以设置你的插件为"load on demand",这可以创建你的Ribbon UI,并有效地缓存你的插件,直到你想要完全加载它:
需求加载VSTO插件- Andrew Whitechapel -站点主页- MSDN博客http://blogs.msdn.com/b/andreww/archive/2008/07/14/demand-loading-vsto-add-ins.aspx
如果你不想加载你的插件,直到你点击一个按钮,那么按钮将需要调用VBA代码来加载你的插件,或者按钮需要由另一个加载你的插件的插件供电。无论哪种情况,您都需要使用Office对象模型从Outlook.Application.COMAddINs中访问COMAddins集合,并为您的插件获取特定的COMAddIn对象(与ProgID值匹配),并设置Connect = True以加载您的插件。