我正在开发一个用于自动生成 Excel 到 PDF 的应用程序。时不时地(并且没有任何明显的原因,程序运行时会出现以下弹出窗口:
Print driver host for 32bit applications stopped working.
不久之后,这个:
Printer setup
如果有的话,我需要在这里做什么?我的应用程序并不过分复杂。错误总是(100%)发生在这一行:
_application.ActiveWorkbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF,
pdfTemplatePath, Excel.XlFixedFormatQuality.xlQualityStandard,
_, _, 1, pdfPrintAreaEnd);
其中有问题的变量是:
Excel := Microsoft.Office.Intertop.Excel
_application := Excel.Application
_ := System.Type.Missing
pdfPrintAreaEnd := int 6
异常信息如下:
System.Runtime.InteropServices.COMException (0x800A03EC):
Exception from HRESULT: 0x800A03EC
这里发生了什么?而且,更重要的是:为什么它只是偶尔发生一次?
最佳答案
好的,所以在对这件事进行了一些研究之后,我遇到了我认为是最多的一个 confuzzling到目前为止我遇到的关于 Excel 自动化的事情。
该错误消息与其他自动和非自动使用 Excel 的情况一致。所有这些情况的共同点是(系好安全带!)网络打印机被设置为默认打印机 .
没错 - 默认使用网络打印机,即使您使用完全不同的打印机或根本不使用打印机进行打印(例如导出为 PDF,这与打印到例如 Adobe PDF 打印机不同,对吧?)有时会在某些机器上弹出此错误。
我将默认打印机更改为内部打印机,例如 Microsoft XPS 文档打印机,再次尝试,我现在可以导出成百上千的 PDF,而不会出现任何错误消息。
关于Excel 自动化 : PDF export causes "Printer setup" popup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24936748/