我的加載項是用c#,NetOffice,ExcelDNA使用WPFframework編寫的。有些部分也使用winforms。 主UI是WPF如何禁止Excel強制關閉時禁用加載項對話框
當有顯示一個模式對話框,用戶強行關閉Excel。 下一次當他們啓動Excel時,Excel會說:「Excel的經歷與‘*’加載項。如果你已經多次看到此消息時,應禁用此add0in和checke以查看是否有更新是一個嚴重的問題可用。是否要禁用此加載項?「
是,否
用戶通常單擊Yes或沒有閱讀的消息,然後我加載從Excel中消失進入。 所以我不想讓這個對話框出現。這是可能的和如何?感謝
我試圖抓住在所有的AutoOpen異常()像下面。但是,根本沒有任何效果停止對話。
public void AutoOpen()
{
.....
System.Windows.Forms.Application.ThreadException += ApplicationOnThreadException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomainUnhandledException;
Dispatcher.CurrentDispatcher.UnhandledException += CurrentDispatcher_UnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
....
}
public void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
{
Helper.LogError(e.Exception);
}
public void ApplicationOnThreadException(object sender, ThreadExceptionEventArgs threadExceptionEventArgs)
{
Helper.LogError(threadExceptionEventArgs.Exception);
}
public void CurrentDomainUnhandledException(object sender, UnhandledExceptionEventArgs args)
{
if (!(args.ExceptionObject is ThreadAbortException))
{
Exception exc = args.ExceptionObject as Exception;
Helper.LogError(exc);
}
}
public void CurrentDispatcher_UnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
Helper.LogError(e.Exception);
e.Handled = true;
}
謝謝。是的,用戶在任務管理器中關閉Excel,右鍵單擊Excel圖標並關閉狀態欄中的所有窗口。當從Web服務獲取數據時,My addin會顯示一個模式對話框,其中有一個「取消」按鈕。如果用戶想要取消,他們可以點擊按鈕。如果他們不取消,對話窗口將在Excel之前,直到數據獲取完成。我正在使用WPF,窗口的父是隻讀的。我從功能區單擊事件處理程序調用它的ShowDialog。所以我不知道如何將其父母設置爲Excel。 – toosensitive 2013-05-09 17:38:58
我注意到myadd被禁用時。 myadd com助手被放在disabledItems中。 myadd.xll仍處於活動列表中。所以我想知道是否有一種方法可以在AutoOpen中加載/生成myadd com助手?謝謝 – toosensitive 2013-05-09 21:31:29
您可以嘗試找出註冊表中禁用項目的記錄位置,然後從AutoOpen中刪除這些註冊表項。一個地方可能是這樣的:HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Excel \ Resiliency \ DisabledItems – Govert 2013-05-10 06:46:40