gpt4 book ai didi

vsto - 如何在 Outlook 中访问检查器窗口功能区?

转载 作者:行者123 更新时间:2023-12-03 17:56:04 31 4
gpt4 key购买 nike

我是 Outlook 编程的新手,所以第一步(稍后更高级)是以下任务:

  • 创建一个新的功能区 (Ribbon1) 选项卡(应显示在资源管理器和新检查器中)
  • 选择(探索)或打开(检查器)邮件时,功能区选项卡应显示邮件主题(如测试所述)


  • Explorer 部分很容易上手,但我在为新检查员执行上述操作时遇到问题

    我尝试了各种方法,但似乎都不起作用:
  • 我试过在 NewInspector 中引用 Globals.Ribbons[inspector].Ribbon1 但这总是空的
  • 我已经尝试在 NewInspector 中订阅 Activate 事件并从那里执行,但在那里 Application.ActiveInspector() 为空,如果我从 NewInspector 事件中存储检查器的全局副本,它在第一个新检查员(仅在第二个之后和在阅读邮件上。不在撰写邮件上)
  • 我试过使用 Ribbon Load 事件,但这只发生在第一次
  • 我曾尝试使用 Globals.Ribbons.Ribbon1 成员,但仅第一次使用

  • (我发现了很多 NewInspector 样本,但似乎没有人想要修改功能区,除了这个 https://stackoverflow.com/questions/7852017/outlook-2007-ribbon-object-reference-not-set-to-an-instance-of-an-object 之外,没有答案)

    快把我逼疯了……这么简单的任务真的没有办法做吗!?

    示例代码供引用

        void InspectorsNewInspector(Outlook.Inspector inspector)
    {
    AddInspectorEventHandlers(inspector);
    }

    private void AddInspectorEventHandlers(Outlook.Inspector inspector)
    {
    if (inspector == null)
    {
    return;
    }

    Ribbon1 ribbon1 = Globals.Ribbons[inspector].Ribbon1; //This always return null!!!

    ((Outlook.InspectorEvents_10_Event)inspector).Activate += InspectorActivate;
    ((Outlook.InspectorEvents_10_Event)inspector).Close += InspectorClose;

    _openInspectors.Add(inspector);
    }

    最佳答案

    在“NewInspector”事件期间,您的自定义功能区未加载。如果您调试代码,您将看到它仅在“NewInspector”事件之后才进入自定义功能区设计器。您可以做的是在自定义功能区加载事件期间实现您需要的内容。那是

    private void MyRibbon_Load(object sender, RibbonUIEventArgs e){}

    在这里您可以获得当前事件的检查器。从那里你可以得到你需要的项目。

    前任 :
            Inspector inspector = Globals.WPTAddIn.Application.ActiveInspector();
    if (inspector != null)
    {
    if (inspector.CurrentItem != null)
    {
    if (inspector.CurrentItem is MeetingItem)
    {
    MeetingItem meetingItem = (MeetingItem)inspector.CurrentItem;}}}

    关于vsto - 如何在 Outlook 中访问检查器窗口功能区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301768/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com