VSTO自定义任务窗格

时间:2018-04-23 15:01:34

标签: c# vsto customtaskpane

我正在尝试在Excel 2016中创建自定义任务窗格。据我所知,所有网站都有相同的代码来创建它。但常见问题是taskpane是不可见的。代码没有任何错误。

请帮助

2 个答案:

答案 0 :(得分:0)

在AddIns中:

    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;}
    }

在Rıbbon:

private void toggleButton2_Click(object sender, RibbonControlEventArgs e)
{
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;

}

答案 1 :(得分:-1)

您是否尝试调试代码?你在代码中得到任何例外吗?

事实是,如果在启动时触发异常,Office可能会自动禁用该加载项。您可以在MSDN中看到以下内容:

Microsoft Office应用程序可以禁用意外行为的VSTO加载项。如果应用程序在您尝试调试时未加载VSTO加载项,则应用程序可能已禁用硬件或软件禁用VSTO加载项。

当VSTO加载项导致应用程序意外关闭时,可能会发生硬禁用。如果在VSTO加载项中的Startup事件处理程序正在执行时停止调试器,则可能还会在开发计算机上出现。

当VSTO加载项产生不会导致应用程序意外关闭的错误时,可能会发生软禁用。例如,如果在Startup事件处理程序执行时抛出未处理的异常,应用程序可能会软禁用VSTO加载项。

重新启用软禁用的VSTO加载项时,应用程序会立即尝试加载VSTO加载项。如果最初导致应用程序软件禁用VSTO加载项的问题尚未解决,则应用程序将再次软禁用VSTO加载项。

How to: Re-enable a VSTO Add-in That Has Been Disabled文章中详细了解相关内容。