有没有一种方法来控制左边的任务窗格的宽度持有一个加载项?

我有一个用VS2010 VSTO库构build的excel 2007加载项。 当我创build加载项的新对象时,我也创build一个Excel左边的任务窗格,使用下面的代码:

Microsoft.Office.Tools.CustomTaskPane taskPaneAddIn; MyAddIn addIn; addIn = new MyAddIn(this.Application); taskPaneAddIn = this.CustomTaskPanes.Add(addIn, "My AddIn"); taskPaneAddIn.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionLeft; taskPaneAddIn.Width = addIn.Size.Width + 5; 

addIn是一个windows用户控件,它有自己的尺寸。

上面的代码似乎不工作,因为taskPaneAddIn宽度总是固定在Excel中。 用户始终必须手动展开任务窗格才能看到控件的整个宽度。

有没有任何可编程的方式来设置任务窗格的宽度?

我认为问题的根源在于,当您将控件添加到CustomTaskPanes时,其宽度将设置为零(我认为这与控件被停靠的事实有关)。 要解决您的问题,您可以执行以下操作,并在添加之前检索控件的宽度:

 var control = new TaskPaneControl(); var width = control.Width; var taskPane = CustomTaskPanes.Add(control, "Wide"); taskPane.Width = width; taskPane.Visible = true;