C# excel多个workbook显示同一个taskpane

时间:2026-02-14 06:45:08

1、首先在要显示taskpane的时候获取到当前窗口的句柄:

int hwnd = this.Application.ActiveWindow.Hwnd;

2、然后我们通过一个字典来获取当前窗口对应的taskpane是否创建

TaskPanels.TryGetValue(this.Application.ActiveWindow.Hwnd, out pane);

3、如果 pane 不存在 就创建并存储到字典中

UserControl ctrl= new UserControl();                Microsoft.Office.Tools.CustomTaskPane pane = this.CustomTaskPanes.Add(ctrl, "***", this.Application.ActiveWindow); /// 这一步很重要将决定是否显示到当前窗口,第三个参数的意思就是依附到那个窗口                pane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;                pane.Width = 320;                TaskPanels.Add(this.Application.ActiveWindow.Hwnd, pane);

4、设置pane的Visible属性即可显示出来

pane.Visible = true;

C# excel多个workbook显示同一个taskpane

© 2026 长短途
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com