我有一个使用VS2010 VSTO库构建的excel 2007加载项。 当我创建一个新的加载项对象时,我还使用以下代码创建一个excel left任务窗格:
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上。用户始终必须手动展开任务窗格以查看控件的整个宽度。
是否有任何可编程方式来设置任务窗格宽度?
答案 0 :(得分:14)
我认为问题的根源在于,当您将控件添加到CustomTaskPanes时,其宽度设置为零(我认为它与控件停靠的事实有关)。要解决您的问题,您可以执行以下操作,并在添加控件之前检索控件的宽度:
var control = new TaskPaneControl();
var width = control.Width;
var taskPane = CustomTaskPanes.Add(control, "Wide");
taskPane.Width = width;
taskPane.Visible = true;