VB.NET VSTO从多个窗口中的功能区引用自定义任务窗格PowerPoint 2013

时间:2016-01-06 11:20:17

标签: vb.net vsto powerpoint-2013

我正在为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

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

0 个答案:

没有答案