Word - Suchen von Begriffen in {}-Klammern

  • VB.NET

Es gibt 32 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    jan99 schrieb:

    Da ist nichts weiter spezielles.
    Na also.
    Dann her damit.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    jan99 schrieb:

    Eine Datei mit den Klammern hatte ich als Bild gezeigt. Da ist nichts weiter spezielles.
    Tja, mir sieht das aus wie ein Foto eines Word-Dokumentes im Formular-Editor-Modus der Serienbrief-Funktion (Menü: Serienbrief\Formularfelder editieren oder so ähnlich).
    Das ist etwas überaus spezielles.
    Wenn ich mich recht erinnere, war so ein Feld nur erzeugbar durch Menü-Klickserei, einfach "{blablablub}" hinschreiben erzeugt noch lange kein Formular-Feld.
    Weil das mit Arbeit zu tun hat und der Chef nicht wissen darf, dass der @TE hier das Forum befragt hat. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Naja, ne Dummydatei zu erstellen, sollte nicht die Schwierigkeit sein, auch nicht für @jan99. Für uns zwar auch nicht, aber wenn wir da was kreieren und hochladen, besteht natürlich die Gefahr, dass die Datei eben nicht so ist, wie sie im tatsächlichen Betrieb vorliegt und darauf ausgelegter Code "funktioniert irgendwie nicht", wie man häufiger unspezifisch im Forum zu lesen bekommt. Daher müssen wir uns wohl weiter in Geduld üben.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Moin!

    die Woche ist gestern gestartet und ich habe das Ganze nun wie folgt umgesetzt. Vielleicht etwas aus dem Zusammenhang, aber das ist mein Weg...

    VB.NET-Quellcode

    1. Private Sub bt_GsewReplaceTags2_Click(sender As Object, e As RibbonControlEventArgs) Handles bt_GsewReplaceTags2.Click
    2. Dim Data2Analyze As String = ""
    3. Dim Data As New Dictionary(Of String, String)
    4. Globals.ThisAddIn.Application.Selection.WholeStory()
    5. Globals.ThisAddIn.Application.Selection.Copy()
    6. Dim iData As IDataObject = Clipboard.GetDataObject()
    7. If iData.GetDataPresent(DataFormats.Text) Then
    8. Data2Analyze = CType(iData.GetData(DataFormats.Text), String)
    9. Else
    10. MessageBox.Show("Daten aus dem Word-Dokuement konnten nicht ausgelesen werden!", "Fehler in der Anwendung", buttons:=MessageBoxButtons.OK, icon:=MessageBoxIcon.Warning)
    11. Exit Sub
    12. End If
    13. Dim Pattern As New Text.RegularExpressions.Regex("{([\s\S]*?)}", RegexOptions.Singleline)
    14. Try
    15. For Each m As Text.RegularExpressions.Match In Pattern.Matches(Data2Analyze)
    16. Dim Tag As String = m.Value
    17. Dim Tag2Use As String = Tag.Substring(1, Tag.Length - 2)
    18. If Data.ContainsKey(Tag2Use) = False Then Data.Add(Tag2Use, "")
    19. 'MessageBox.Show(m.Value)
    20. 'Optional: MessageBox.Show(m.Value.Replace("{", "").Replace("}", ""))
    21. Next
    22. Catch ex As Exception
    23. MessageBox.Show(ex.ToString)
    24. End Try
    25. Dim f As New frm_EditGenehmigungTags(Data)
    26. With f
    27. If .ShowDialog() = DialogResult.OK Then ' austauschen der Daten
    28. Data = .Tags2Set
    29. TagChange(Data)
    30. .Dispose()
    31. End If
    32. End With
    33. End Sub


    Gruß Jan
    So wie ich das sehe, ist die Vorlage aus einem Behörden-System, die normalerweise über ein Wordmakro befüllt wird. (Arzt-Software macht so was auch gerne.)

    Der TE versucht jetzt das ganze in VB .Net.

    Ein ganz anderer Ansatz, der u.a. bei der elektronischen Akte bei den Justiz-Behörden eingesetzt ist, die Vorlagen mit XML und Stylesheets zu füllen.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).