我試圖在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