Excel自动化:PDF导出导致“打印机设置”popup
我正在开发一个应用程序的自动Excel生成PDF。 每隔一段时间(没有任何明显的原因,程序运行时出现以下popup窗口:
32位应用程序的打印驱动程序主机停止工作。
不久之后,这一个:
打印机设置
如果有的话,我需要在这里做什么? 我的申请不是太复杂。 总是(100%)的错误发生在这一行上:
_application.ActiveWorkbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, pdfTemplatePath, Excel.XlFixedFormatQuality.xlQualityStandard, _, _, 1, pdfPrintAreaEnd);
问题的variables是:
Excel := Microsoft.Office.Intertop.Excel _application := Excel.Application _ := System.Type.Missing pdfPrintAreaEnd := int 6
exception消息如下:
System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC
这里发生了什么? 而且更重要的是:为什么只是偶尔发生?
好吧,在对这个问题进行了一些研究后,我遇到了我认为迄今为止我遇到的有关Excel自动化最令人费解的事情之一。
该错误消息与Excel使用情况的其他情况一致,都是自动的而不是自动的。 所有这些情况的共同点是(扣上) networking打印机被设置为默认打印机 。
这是正确的 – 有一个networking打印机作为默认,甚至当你打印使用完全不同的打印机或根本没有打印机(例如在导出到PDF的情况下,这是不一样的打印,如Adobe PDF打印机,对不对?)它会导致这个错误有时在一些机器上popup。
我将默认打印机更改为内部文件(如Microsoft XPS文档打印机) ,然后再次尝试, 现在可以导出数以千计的PDF,而不会出现单个错误消息 。