Problem beim umbauen einer Funktion

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Thunderbolt.

    Problem beim umbauen einer Funktion

    Hallo und guten Abend!

    Ich benötige Eure Unterstützung.

    Und zwar habe ich ein Code der für folgendes gedacht sei:

    Mit diesem Code kann ich eine Word-Datei öffnen und Inhalte von Textmarken ändern.
    Das Dokument wird dann folglich unter einem anderen Namen gespeichert.

    Mein Word-Dokument beinhaltet Textmarken wie:

    - Vorname
    - Nachname
    - Benutzername
    - Passwort


    Nun zu meinem Kernproblem:
    Der Code funktioniert leider nur mit EINER veränderbaren Textmarke.
    Mein Wunsch wäre wenn ich im selben Durchgang alle 4 Textmarken zur gleichen Zeit verändern kann. (jetzt im Codebeispiel z.B. wird nur eine einzige geändert)
    Habe leider echt keinen Lösungsansatz. Zumind. hat keiner Funktioniert.

    Gibt es vielleicht auch eine Option ohne den Funktionsaufruf?..

    Bitte um Hilfe! :S :/

    Quellcode

    1. Imports System.Runtime.InteropServices
    2. Imports Microsoft.Office.Interop.Word
    3. Imports Microsoft.Office.Interop
    4. Imports System.IO
    5. Public Class Form1
    6. Dim strFileName As String
    7. Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    8. ' Funktionsaufruf
    9. dok("Nachname", "Der neue Inhalt") ' dok( Name der Textmarke, Inhalt)
    10. End Sub
    11. Private Function dok(ByVal textmarke As String, ByVal textm_value As String)
    12. Dim word As New Microsoft.Office.Interop.Word.Application
    13. Dim doc As Microsoft.Office.Interop.Word.Document
    14. Try
    15. doc = word.Documents.Open("c:\\data\doku.docx")'öffnet die Datei mit den Textmarken
    16. doc.Activate()
    17. If doc.Range.Bookmarks.Exists(textmarke) Then
    18. doc.Bookmarks().Item(textmarke).Range.Text = textm_value
    19. Else
    20. MessageBox.Show("Textmarke nicht vorhanden!")
    21. End If
    22. doc.SaveAs("c:\\data\dokue.docx")
    23. doc.Close()
    24. MessageBox.Show("Datei erstellt")
    25. Catch ex As IOException
    26. MessageBox.Show("Datei nicht vorhanden.")
    27. Finally
    28. word.Application.Quit()
    29. End Try
    30. Return (0)
    31. End Function
    32. End Class