如何替换Outlook(VSTO)中的自定义任务窗格?

时间:2016-12-13 22:15:04

标签: outlook ms-office vsto

背景

我们说我有一个自定义任务窗格,如下图所示。

对于我的应用程序,我只显示此窗格(如果用户已登录)(由存在从API端点授予的有效会话令牌确定),否则我将显示登录窗格。

如果用户在会话超时时让检查员处于打开状态,我需要显示一个带有登录按钮的不同任务窗格。用户有许多检查员(因此,许多自定义任务窗格)一次打开。

我计划在后台线程上运行一个递归方法,大约每小时一次,以检查会话是否有效,如果没有,则交换使用登录窗格显示的任何自定义任务窗格。

问题

我如何完成"交换"在每个检查员中,用户已经打开了?我应该迭代所有检查员吗?如果是这样,如何在该检查器中访问自定义任务窗格的集合。相反,如果我应该迭代from LogDatei.LogDatei import * from Date.Date import * from Melldung.Melldung import * from Time.Time import * class Repo(): """ This class contains the most important methonds """ def __init__(self,filename): """ The initialization function :param filename: the name of the file you want to take the information """ self.filename=filename def get_all(self): """ This function reads all lines from a file It grpups in in object Logare that is build from date,type and melldung date and melldung are classes also :return: a list that contains all information from file """ rez=[] f=open(self.filename,'r') for line in f: tolks=line.split(' ',3) date=tolks[0].split('-',2) time=tolks[1].split(':',2) melldung=tolks[3].split(':') final=melldung[1].split('-') #date(date[0],date[1],date[2]) #time() rez.append(Logare(date,time,tolks[2],Melldung(melldung[0],final[0],final[1],melldung[2]))) return rez ,如何识别它所属的检查器,以便我可以将任何可见的自定义任务窗格与我的登录窗格交换?

提前致谢。 enter image description here

1 个答案:

答案 0 :(得分:1)

您需要保留一个字典,其中键将成为一个检查器对象。因此,您可以轻松访问自定义任务窗格。

       InspectorWrapper inspectorWrapper = Globals.ThisAddIn.InspectorWrappers[inspector];
        CustomTaskPane taskPane = inspectorWrapper.CustomTaskPane;
        if (taskPane != null)
        {
            taskPane.Visible = false;
        }

请查看以下文章以获取更多信息: