Я использую 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