Rubrik: OLE/Registry/DLL · Automation | VB-Versionen: VB2005, VB2008 | 21.10.08 |
Word-Dokument in TextBox übertragen Funktion, mit der sich ein Word-Dokument mit Hilfe der Zwischenablage in einer MultiLine-Textbox anzeigen lässt. | ||
Autor: Frank Uwe Pollehn | Bewertung: | Views: 16.477 |
ohne Homepage | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
In den vorigen Versionen von VB war es kein Problem ein Word-Dokument in eine Textbox zu laden, bei VB2008 funktionieren (meines Wissens nach) diese Methoden nicht mehr.
Hier eine Version, die über das Clipboard Daten von Word in eine Textbox einliest.
Wenn jemand eine bessere Variante kennt immer her damit
''' <summary> ''' Öffnet eine Instanz von Word, lädt das angegebene Dokument und ''' kopiert den Inhalt über die Zwischenablage in die TextBox ''' </summary> ''' <param name="Filename">Pfad und Dateiname des Word-Dokuments</param> ''' <param name="TextBox">MultiLine-TextBox für die Anzeige des Inhaltes</param> Private Function ShowWordDoc(ByVal Filename As String, _ ByVal TextBox As TextBox) As Boolean Dim Word As Object = Nothing Dim Success As Boolean = False Try ' Word.Application Objekt erstellen Word = CreateObject("Word.Application") With Word ' Word unsichtbar starten .Visible = False ' Datei laden .Documents.Open(Filename) ' alles selektieren .WordBasic.EditSelectAll() ' Selektion in die Zwischenablage kopieren .selection.copy() ' Text aus Zwischenablage in die TextBox einfügen TextBox.Text = Clipboard.GetDataObject.GetData(DataFormats.Text) ' Dokument schließen .Documents.Close(0) ' Word beenden .Quit() End With Success = True Catch ex As Exception ' Fehlerausgabe MsgBox("Fehler bei der Übernahme des Word-Dokuments!" & vbCrLf & _ ex.Message, MsgBoxStyle.Critical) Finally ' Aufäumarbeiten If Word IsNot Nothing Then Word.Quit() Word = Nothing End If End Try ' Funktionsrückgabe Return (Success) End Function