Word-Datei auslesen / editieren

  • Word

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Drahuverar.

    Word-Datei auslesen / editieren

    Hey Leute,

    eine kleine Frage.
    Ich möchte mir eine Word Datei auslesen und editieren, da ich in meinem Word Dokument diese stellen mit einem "@" markiert habe- z.B. "@Name" - würde ich diese gerne mit einem streamreader auslesen und anschließend bearbeiten.

    Normalerweise kein Ding..

    Aber:
    Ich lese mir die *.doc - Datei aus und bekomme nur merkwürdige Symbole- Öffne ich mit einem Editor die Datei erscheinen diese Symbole weiterhin aber ich kann auch "@Name" finden..
    Weiß einer wie ich das bewerkstelligen kann?

    Grüße
    Option Strict On!
    Ist das eine alte ".doc"-Datei oder eine ".docx" aus Office 2007 (oder später).
    Word-Dateien im Rohformat zu bearbeiten ist nicht ganz ungefährlich, wenn man das Format nicht vollständig beherrscht.
    Spätestens seit 2007 nahezu unmöglich.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @petaod
    Ja, dadurch das MS ja die Daten kompakter hält (*docx - xml struktur) konnte ich mit der *.docx nichts anfangen, weswegen ich eine .doc abgespeichert habe.

    Habe was gefunden.

    VB.NET-Quellcode

    1. Imports Word = Microsoft.Office.Interop.Word
    2. Public Class Form1
    3. ' Finden / Ersetzen in Word Document
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. Dim objWordApp As New Word.Application
    6. objWordApp.Visible = false 'Word Dokument öffnen Wahr/Falsch
    7. 'Vorhandenes Dokument öffnen.
    8. Dim objDoc As Word.Document = objWordApp.Documents.Open("C:\Trydata\1.doc")
    9. objDoc = objWordApp.ActiveDocument
    10. 'Finde und ersetze...
    11. ' 'VB' mit 'Visual Basic Express'
    12. objDoc.Content.Find.Execute(FindText:="VB", ReplaceWith:="Visual Basic Express", Replace:=Word.WdReplace.wdReplaceAll)
    13. While objDoc.Content.Find.Execute(FindText:=" ", Wrap:=Word.WdFindWrap.wdFindContinue)
    14. objDoc.Content.Find.Execute(FindText:=" ", ReplaceWith:=" ", Replace:=Word.WdReplace.wdReplaceAll, Wrap:=Word.WdFindWrap.wdFindContinue)
    15. End While
    16. 'Speichern und Schliessen
    17. objDoc.Save() '.Save überschreibt die Datei --> .SaveAs2("Pfad") kann neue Ausgabe der Datei ermöglichen
    18. objDoc.Close()
    19. objDoc = Nothing
    20. objWordApp.Quit()
    21. objWordApp = Nothing
    22. End Sub
    23. End Class


    Grüße. :)
    Option Strict On!