在活动演示文稿中查找和删除所有自定义任务窗格

时间:2019-03-07 11:37:45

标签: vb.net office-addins

我已经制定了一种方法,每次打开另一个任务窗格时都关闭一个任务窗格。原因是我只希望在任何给定时间在单个演示文稿上打开一个任务窗格。因此,如果我打开了3个演示文稿,则我只希望每个演示文稿在每个演示文稿中最多打开一个任务窗格。

我面临的问题是,如果我打开了3个演示文稿,然后在第1个演示文稿中打开了一个任务窗格,然后在第2个演示文稿中打开了一个任务窗格,则在第1个演示文稿中关闭了该任务窗格。

我只想关闭活动演示文稿上的任务窗格,而我不想关闭任何不是活动演示文稿的任务窗格。

我的代码如下。

Private WithEvents myTaskPane As Microsoft.Office.Tools.CustomTaskPane

Try
   CloseTaskPane()
   textElementsPane = New PowerPointCommon.TextElementsMainTaskPane()

   myTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(textElementsPane, "Text", Globals.ThisAddIn.Application.ActivePresentation)

   myTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight
   myTaskPane.Width = 360 * widthScaleFactorDPI
   myTaskPane.DockPositionRestrict = Microsoft.Office.Core.MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange       
   myTaskPane.Visible = True


   Friend Sub CloseTaskPane()
        Try
            If myTaskPane IsNot Nothing Then

                myTaskPane.Visible = False
                myTaskPane.Dispose()
            End If
        Catch
        End Try

0 个答案:

没有答案