vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Drucker   |   VB-Versionen: VB5, VB628.03.06
Word-Dokument drucken

Aus einer eigenen Anwendung Word aufrufen und ein Word-Dokument drucken

Autor:   Volker SengeBewertung:     [ Jetzt bewerten ]Views:  19.397 
ohne HomepageSystem:  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

Dieser Tipp wurde bereits 19.397 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel