1

我对多个 Excel 2016 文档中的一个 CustomTaskPane 有疑问。我使用 WinForm 用户控件创建和显示任务窗格

 Dim cll As cMyControl = New cMyControl

 Private Sub ThisAddIn_Startup() Handles Me.Startup
    CustomTaskPanes.Add(cll, "Panel")
 End Sub

我可以在所有工作簿中看到这个面板。

Private Sub Application_WorkbookActivate(Wb As Microsoft.Office.Interop.Excel.Workbook) Handles Application.WorkbookActivate
    CustomTaskPanes.RemoveAt(0)
    CustomTaskPanes.Add(cll, "Panel")
End Sub

问题是面板已创建但为空。有什么方法可以在 CustomTaskPanels 之间转移用户控制?或者如何将创建的面板附加到另一个 Excel 窗口?因为我不想cll为每个工作簿激活创建新对象。

4

1 回答 1

0

Excel 2016 是一个 SDI,然后您需要存储每个任务窗格的引用。您需要使用Globals.ThisAddIn.Application.HwndExcel 窗口来识别。

请参阅此处获取解决方案:https ://stackoverflow.com/a/24732000/3205529

于 2016-09-24T12:56:12.610 回答