Я использую xlApp.Dialogs[Excel.XlBuiltInDialog.xlDialogPrint].Show()
, чтобы показать пользователю диалоговое окно печати для печати содержимого книги Excel, созданной программным способом.
Печатная часть работает нормально после того, как пользователь нажимает кнопку ОК. Однако, помимо печати, программа также открывает и отображает экземпляр Excel. Это не предварительный просмотр, а фактический документ Excel, который открывается и отображается пользователю.
Моя цель - показать пользователю диалоговое окно печати, позволяющее печатать без отображения Excel.
Я посмотрел здесь , чтобы найти какой-то метод или аргумент, чтобы отключить открытие Excel. К сожалению, все, что я обнаружил, я могу предоставить .Show () с 30 аргументами, но не то, какой аргумент соответствует какому параметру.
Я не смог ничего найти на SO, и мои навыки работы с Google, похоже, подводят меня сегодня.
Обновление : 'Excel' в моем коде является псевдонимом: using Excel = Microsoft.Office.Interop.Excel;
Мне удалось найти Списки аргументов встроенного диалогового окна . Глядя на «xlDialogPrint», я предполагаю, что это аргументы, которые входят в .Show (). Однако ничто в этом списке не может помешать открытию Excel.
Другое обновление : Простейший код для воспроизведения поведения
Excel.Application xlApp;
Excel.Workbook xlWB;
Excel.Worksheet xlWS;
xlApp = new Excel.Application();
xlWB = xlApp.Application.Workbooks.Add();
xlWS = xlWB.Sheets[1];
xlWS.Cells[1][1] = "TEST";
xlApp.Dialogs[Excel.XlBuiltInDialog.xlDialogPrint].Show();