Rubrik: Drucker | VB-Versionen: VB5, VB6 | 28.03.06 |
Word-Dokument drucken Aus einer eigenen Anwendung Word aufrufen und ein Word-Dokument drucken | ||
Autor: Volker Senge | Bewertung: | Views: 19.421 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ich beziehe mich auf den vorhandenen Tipp Word/Excel-Dokument drucken. Hier wurde gesagt, dass das Drucken eines Word-Dokumentes mit dem folgenden Quellcode nicht funktioniert, weil , ich zitiere, " ...WinWord eine Meldung bringt, daß gerade ein Dokument gedruckt wird und somit die Anwendung nicht beendet werden kann - es sei denn der Ausdruck soll abgebrochen werden."
Dim wApp As New Word.Application With wApp .Documents.Open sFilename .ActiveDocument.PrintOut .Quit End With Set wApp = Nothing
Das ist auch korrekt und passiert immer dann, wenn in Word unter "Extras - Optionen - Drucken" der Haken gesetzt ist bei "Drucken im Hintergrund". Wenn man jedoch den Haken entfernt, oder folgenden Quellcode verwendet, wird das Word-Dukument in jedem Fall ausgedruckt:
Private Sub Form_Load() On Error GoTo ErrorHandler ' Pfad des Dokuments als Argument aus Befehlszeile übernehmen If Command$ = "" Then MsgBox "Bitte geben Sie einen Dateinamen an. Abbruch!" End Else sFilename = Command() End If Dim wApp As New Word.Application Dim b_PrintBackground As Boolean wApp.Documents.Open sFilename ' Einstellung zu "Drucken im Hintergrund" erfragen b_PrintBackground = wApp.Options.PrintBackground With wApp ' "Drucken im Hintergrund" ausschalten, da sonst der Ausdruck scheitert .Options.PrintBackground = False ' Dokument drucken .ActiveDocument.PrintOut ' Einstellung zu "Drucken im Hintergrund" wieder zurücksetzen .Options.PrintBackground = b_PrintBackground .ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges .Quit (wdDoNotSaveChanges) End With Set wApp = Nothing Exit Sub ErrorHandler: MsgBox Err.Description wApp.Quit Set wApp = Nothing End Sub