0

我正在 VSTO 中为我的公司创建一个 COM 加载项,并且在从功能区引用每个窗口的正确任务窗格时遇到问题。

我有一个自定义任务窗格,它根据功能区单击在任务窗格上显示/隐藏不同的命令。当我打开 1 个文档窗口时,这可以正常工作,但是当我打开多个文档窗口时,功能区控制仅在最终窗口上打开的自定义任务窗格,而不是在活动窗口上。

我的代码(简化)是

Private Sub Agenda_Click(sender As Object, e As RibbonControlEventArgs) Handles Agenda.Click

    With Globals.ThisAddIn.AddIn_TP
        .Width = 300
        .Visible = True
    End With

    With Globals.ThisAddIn.AddIn_control1
        With .Panel_table
            .Visible = False
            .Left = 400
        End With
        With .Panel_SummaryBox
            .Visible = True
            .Left = 5
        End With
    End with

End Sub

我知道我需要以某种方式引用活动窗口和链接的任务窗格,但我不知道如何使这项工作。

在加载任务窗格方面,我有每次打开/创建演示文稿时调用的代码,它会加载该窗口的任务窗格。代码是:

Private Sub Application_AfterNewPresentation(Pres As PowerPoint.Presentation) Handles Application.AfterNewPresentation

        AddIn_control1 = New AddIn_control
        AddIn_taskpane = Me.CustomTaskPanes.Add(AddIn_control1, "Add-In Taskpane", Me.Application.ActiveWindow)

    End Sub

这工作正常,任务窗格在新窗口中可见。但是,如果我随后返回上一个窗口并单击功能区按钮,它会更改新窗口上的任务窗格,而不是活动窗口。

4

0 回答 0