我试图在Excel加载项中解决问题,其中Excel在用户退出Excel时被卡在进程中。C#Excel VSTO加载项 - Excel进程在添加自定义任务窗格后无法关闭
我注意到问题开始发生在添加一个CustomTaskPane后,然后当我尝试关闭Excel时,它不会完全退出并保留在任务管理器中。但是,如果在添加CustomTaskPane之前关闭Excel,则Excel会正确关闭。
下面是关于如何添加CustomTaskPane的简单代码,它只是一个简单的空白任务窗格。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
var host = new ElementHost();
host.Dock = DockStyle.Fill;
var taskPaneControl = new UserControl();
taskPaneControl.Controls.Add(host);
var taskPaneValue = CustomTaskPanes.Add(taskPaneControl, "My TaskPane");
taskPaneValue.Visible = true;
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
Office.CommandBar taskBar = null;
try
{
taskBar = Application.CommandBars["Task Pane"];
taskBar.Reset();
}
finally
{
if (taskBar != null)
{
Marshal.ReleaseComObject(taskBar);
taskBar = null;
}
}
}
至于ThisAddIn_Shutdown方法,这个函数是否为空并不重要,Excel仍然没有正确关闭。
添加CustomTaskPane后,Excel无法正常关闭的问题是什么?
请指教,谢谢!
AFAIK任务/诉权ns窗格有这样的问题的历史,并且很有可能你找不到一个好的答案。您可以尝试不同的VSTO版本和/或Office应用程序/版本。 MSDN论坛可能也有。 – Chris