我在多个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
对象。
答案 0 :(得分:0)
Excel 2016是SDI,然后您需要存储每个任务窗格的引用。您需要使用Globals.ThisAddIn.Application.Hwnd
来标识Excel窗口。
请点击此处查看解决方案:https://stackoverflow.com/a/24732000/3205529