我已经制定了一种方法,每次打开另一个任务窗格时都关闭一个任务窗格。原因是我只希望在任何给定时间在单个演示文稿上打开一个任务窗格。因此,如果我打开了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