2014-07-24 22 views
6

Ich entwickle eine Anwendung für automatische Excel zu PDF-Generierung. Hin und wieder (und ohne erkennbare Ursache, die folgende Popup kommt, während das Programm läuft:Excel-Automatisierung: PDF-Export verursacht Popup "Druckereinrichtung"

Druckertreiber Host für 32-Bit-Anwendungen aufgehört zu arbeiten

Print driver host for 32bit applications stopped working

und kurz. nach, dieses:

Printer Setup

Printer setup Popup

Was, wenn überhaupt, dann brauche ich hier zu tun? Meine Bewerbung ist nicht übermäßig komplex. Der Fehler immer (100%) geschieht auf dieser Linie:

_application.ActiveWorkbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, 
    pdfTemplatePath, Excel.XlFixedFormatQuality.xlQualityStandard, 
    _, _, 1, pdfPrintAreaEnd); 

wobei die Variablen in Frage sind:

Excel := Microsoft.Office.Intertop.Excel 
_application := Excel.Application 
_ := System.Type.Missing 
pdfPrintAreaEnd := int 6 

Die Ausnahmemeldung lautet wie folgt:

System.Runtime.InteropServices.COMException (0x800A03EC): 
    Exception from HRESULT: 0x800A03EC 

Was geschieht Hier? Und, noch wichtiger: Warum passiert es nur ab und zu?

Antwort

9

Okay, also nach ein paar Recherchen in dieser Angelegenheit, stieß ich auf das, was ich glaube, ist eine der am meisten confuzzling Dinge über Excel-Automatisierung, die ich bisher begegnet bin.

Die Fehlermeldung stimmt überein mit anderen Fällen der Excel-Verwendung, die beide automatisiert sind und nicht. Der gemeinsame Nenner in all diesen Fällen ist (schnallen!), Dass ein Netzwerkdrucker als Standarddrucker eingestellt wurde.

Das ist richtig - einen Netzwerkdrucker als Standard haben, auch wenn Sie mit einem völlig anderen Drucker oder gar keinem Drucker drucken (wie beim Export in PDF, was nicht dasselbe ist wie zB Adobe PDF Printer) , richtig?) es wird diesen Fehler zu manchmal auf einigen Maschinen Pop-up verursachen.

änderte ich den Standarddrucker etwas intern, wie Microsoft XPS Document Printer, versuchte es noch einmal und ich jetzt Hunderte und Tausende von PDF-Dateien ohne ein einziges Auftreten der Fehlermeldung exportieren.