我使用Excel Interop打開xlsx文件並將其保存爲pdf文檔。在調用'ExportAsFixedFileFormat'方法後,將顯示一個標題爲「發佈」的對話框來指示進度。我怎樣才能壓制或隱藏這個對話框?我在其他論壇上看到過一些類似的問題,但沒有令人滿意的解決方案,但希望有人從那以後解決了這個問題。C#Excel Interop - 調用時禁止「發佈」對話框Worksheet.ExportAsFixedFormat
代碼:
Application application = new Application();
application.DisplayAlerts = false; // <- No effect
application.Visible = false; // <- No effect
application.ScreenUpdating = false; // <- No effect
application.UserControl = false; // <- No effect
application.Workbooks.Open(path, Type.Missing, true);
application.DisplayDocumentActionTaskPane = false; // <- No effect
application.Worksheets[1].ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, path);
這個賞金可能對沒有人有幫助。它似乎取決於操作系統和Excel版本,因爲在我的機器上(Win 10 + Office 2013)沒有一個對話框彈出 – lokusking
你根本不能。當Excel檢測到正在進行的操作需要很長時間時,纔會顯示這些進度對話框。即使保存工作簿「CTRL + S」並且目標是網絡速度較慢的網絡驅動器,也會看到一個進度對話框。其主要原因是您要麼發佈大量數據,要麼系統資源緊張,或者您正在緩慢或全部發布的網絡驅動器上發佈。 – cyboashu
很少有矯枉過正的方法,使用WinAPI查找此對話框並將隱藏的可見性設置爲隱藏,或者如果您關心用戶取消此操作,則在發佈期間再次使用WinAPI阻止鍵盤鼠標輸入。 – cyboashu