Excel自动化:PDF导出导致“打印机设置”popup

我正在开发一个应用程序的自动Excel生成PDF。 每隔一段时间(没有任何明显的原因,程序运行时出现以下popup窗口:

32位应用程序的打印驱动程序主机停止工作。

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,而不会出现单个错误消息