Immer wieder das leideige Thema: Wie drucke ich den Inhalt einer RTF-TextBox sauber aus oder wie lässt sich eine Druckvorschau realsiieren? Sofern auf dem System Microsoft Word installiert ist, lässt sich das Ganze bequem durch Fernsteuerung von WinWord erledigen. Beispiel: Private Sub cmdPreview_Click() Dim oWord As Object ' Word.Application ' Text der RichTextBox in die Zwischenablage kopieren Clipboard.Clear Clipboard.SetText RichTextBox1.TextRTF, vbCFRTF ' neue WinWord-Instanz erstellen On Error GoTo ErrHandler Set oWord = CreateObject("Word.Application") With oWord.Application .Visible = True ' neues Dokument hinzufügen .Documents.Add ' Inhalt der Zwischenablage einfügen .Selection.Paste ' Ausdruck in Seitenvorschau .ActiveDocument.PrintPreview End With ' Zwischenablage löschen Clipboard.Clear On Error GoTo 0 Exit Sub ErrHandler: MsgBox "Fehler beim Versuch das Dokument in der " & _ "WinWord-Seitenvorschau anzuzeigen!" & vbCrLf & _ CStr(Err.Number) & " " & Err.Description, vbExclamation + vbOKOnly Clipboard.Clear Set oWord = Nothing End Sub Erweiterung: Private Sub cmdPreview_Click() Dim oWord As Object ' Word.Application ' Text der RichTextBox in die Zwischenablage kopieren Clipboard.Clear Clipboard.SetText RichTextBox1.TextRTF, vbCFRTF ' neue WinWord-Instanz erstellen On Error GoTo ErrHandler Set oWord = CreateObject("Word.Application") With oWord.Application .Visible = True ' neues Dokument hinzufügen .Documents.Add ' Inhalt der Zwischenablage einfügen .Selection.Paste ' Ansicht einstellen .ActiveWindow.ActivePane.View.Type = 3 ' wdPrintView ' Kopfzeile aktivieren .ActiveWindow.ActivePane.View.SeekView = 9 ' wdSeekCurrentPageHeader ' Seitennumerierung rechtsbündig eintragen With .Selection .ParagraphFormat.Alignment = 2 ' wdAlignParagraphRight .TypeText "Seite " .Fields.Add .Range, 33 ' wdFieldPage End With ' Kopfzeile wieder verlassen .ActiveWindow.ActivePane.View.SeekView = 0 ' wdSeekMainDocument ' Ausdruck in Seitenvorschau .ActiveDocument.PrintPreview End With ' Zwischenablage löschen Clipboard.Clear On Error GoTo 0 Exit Sub ErrHandler: MsgBox "Fehler beim Versuch das Dokument in der " & _ "WinWord-Seitenvorschau anzuzeigen!" & vbCrLf & _ CStr(Err.Number) & " " & Err.Description, vbExclamation + vbOKOnly Clipboard.Clear Set oWord = Nothing End Sub Drucken ohne Seitenvorschau: ... With oWord.Application ... ' Dokument ausdrucken .ActiveDocument.PrintOut ' Dokument schließen .ActiveDocument.Close 0 ' wdDoNotSaveChanges ' Word beenden .Quit 0 ' wdDoNotSaveChanges End With DoEvents Set oWord = Nothing ... Dieser Tipp wurde bereits 12.443 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |