Sto utilizzando Interoperabilità di Excel per aprire un file xlsx e salvarlo come documento PDF. Quando si richiama il metodo 'ExportAsFixedFileFormat', viene visualizzata una finestra di dialogo intitolata "Pubblicazione" per indicare lo stato di avanzamento. Come posso sopprimere o nascondere questa finestra di dialogo? Ho visto alcune domande simili su altri forum senza una soluzione soddisfacente, ma spero che qualcuno abbia risolto questo problema da allora.C# Interop di Excel - Elimina la finestra di dialogo "Pubblicazione" quando si richiama Worksheet.ExportAsFixedFormat
Codice:
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);
Questo Bounty potrebbe aiutare nessuno. Sembra dipendere dal sistema operativo e dalla versione di Excel, poiché sulla mia macchina (Win 10 + Office 2013) non è presente una singola finestra di dialogo – lokusking
Semplicemente non è possibile. Questo tipo di finestre di dialogo di avanzamento vengono visualizzate quando Excel rileva che l'operazione in corso richiederà molto tempo. Anche se si salva la cartella di lavoro 'CTRL + S' e la destinazione è un'unità di rete con rete lenta, verrà visualizzata una finestra di dialogo di avanzamento. È principalmente perché o stai pubblicando un sacco di dati o il tuo sistema è a corto di risorse o stai pubblicando su un disco di rete che è lento o tutti questi. – cyboashu
Sono pochi i modi per farlo, utilizzando WinAPI per trovare questa finestra di dialogo e impostare la visibilità su nascosto o se si è interessati all'utente che annulla questa operazione, quindi utilizzare nuovamente WinAPI per bloccare l'input del mouse della tastiera durante la pubblicazione. – cyboashu