我正在尝试在 Excel 2016 中创建自定义任务窗格。据我所知,所有站点都有相同的代码来创建它。但常见的问题是任务窗格不可见。该代码没有给出任何错误。
请帮忙
我正在尝试在 Excel 2016 中创建自定义任务窗格。据我所知,所有站点都有相同的代码来创建它。但常见的问题是任务窗格不可见。该代码没有给出任何错误。
请帮忙
在插件中:
private TaskWaterMark taskPaneControl1;
private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
taskPaneControl1 = new TaskWaterMark();
taskPaneValue = this.CustomTaskPanes.Add(taskPaneControl1, "MyCustomTaskPane");
taskPaneValue.Visible = true;
//taskPaneValue.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionFloating;
//taskPaneValue.Height = 500;
//taskPaneValue.Width = 500;
//taskPaneValue.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;
//taskPaneValue.Width = 300;
this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler(Application_WorkbookActivate);
taskPaneValue.VisibleChanged +=new EventHandler(taskPaneValue_VisibleChanged);
}
private void Application_WorkbookActivate(Microsoft.Office.Interop.Excel.Workbook wb)
{
}
public void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
{
Globals.Ribbons.Ribbon1.toggleButton2.Checked = taskPaneValue.Visible;
}
public Microsoft.Office.Tools.CustomTaskPane TaskPane
{
get { return taskPaneValue;}
}
在功能区:
private void toggleButton2_Click(object sender, RibbonControlEventArgs e)
{
Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
}
您是否尝试调试代码?您是否在代码中遇到任何异常?
事实上,如果 Office 在启动时触发异常,它可能会自动禁用加载项。以下是您在 MSDN 中可能看到的内容:
Microsoft Office 应用程序可以禁用行为异常的 VSTO 加载项。如果应用程序在您尝试调试时未加载您的 VSTO 外接程序,则该应用程序可能已硬禁用或软禁用您的 VSTO 外接程序。
当 VSTO 加载项导致应用程序意外关闭时,可能会发生硬禁用。如果您在 VSTO 外接程序中的启动事件处理程序正在执行时停止调试器,它也可能发生在您的开发计算机上。
当 VSTO 外接程序产生不会导致应用程序意外关闭的错误时,可能会发生软禁用。例如,如果应用程序在启动事件处理程序执行时抛出未处理的异常,则应用程序可能会软禁用 VSTO 加载项。
当您重新启用软禁用的 VSTO 外接程序时,应用程序会立即尝试加载 VSTO 外接程序。如果最初导致应用程序软禁用 VSTO 插件的问题尚未修复,应用程序将再次软禁用 VSTO 插件。
在如何:重新启用已禁用的 VSTO 加载项一文中阅读有关此内容的更多信息。