Warum das praktisch ist

Weil Du immer wieder denselben Satz schreiben musst.
Nur die Zahlen, Orte oder Namen Àndern sich.
Die Struktur bleibt gleich.

Mit der OpenAI Functions API kannst Du Word-Felder an GPT ĂŒbergeben – und bekommst den passenden Textbaustein zurĂŒck.
Automatisch. Maßgeschneidert. In korrektem Deutsch.

Voraussetzungen

  • Word (mit Formularfeldern oder Inhaltssteuerelementen)
  • OpenAI API-Key
  • VBA (fĂŒr Zugriff + JSON-Kommunikation)
  • Funktionen definieren (Name + Parameterstruktur)

Beispiel: ReisebestÀtigung erzeugen

FeldnameInhalt
zielortHamburg
datum_start01.06.2025
datum_ende04.06.2025
zweckKundentermin Messebau

Daraus soll automatisch dieser Satz werden:

„Hiermit bestĂ€tigen wir Ihre Dienstreise nach Hamburg vom 01.06.2025 bis 04.06.2025 zum Zweck eines Kundentermins im Bereich Messebau.“

Schritt 1: Felder lesen

Function LeseFormwerte() As String
    Dim ziel As String, start As String, ende As String, zweck As String

    ziel = ActiveDocument.SelectContentControlsByTitle("zielort")(1).Range.Text
    start = ActiveDocument.SelectContentControlsByTitle("datum_start")(1).Range.Text
    ende = ActiveDocument.SelectContentControlsByTitle("datum_ende")(1).Range.Text
    zweck = ActiveDocument.SelectContentControlsByTitle("zweck")(1).Range.Text

    LeseFormwerte = "{""zielort"":""" & ziel & """,""datum_start"":""" & start & """,""datum_ende"":""" & ende & """,""zweck"":""" & zweck & """}"
End Function

Schritt 2: Functions-Definition

Function BuildFunctionDefinition() As String
    BuildFunctionDefinition = "{" & _
      """name"":""reisebestaetigung_generieren""," & _
      """description"":""Generiert eine ReisebestÀtigung in Textform""," & _
      """parameters"":{""type"":""object"",""properties"":{" & _
          """zielort"":{""type"":""string"",""description"":""Reiseziel""}," & _
          """datum_start"":{""type"":""string"",""description"":""Startdatum""}," & _
          """datum_ende"":{""type"":""string"",""description"":""Enddatum""}," & _
          """zweck"":{""type"":""string"",""description"":""Zweck der Reise""}" & _
      "},""required"":[""zielort"",""datum_start"",""datum_ende"",""zweck""]}" & _
    "}"
End Function

Schritt 3: GPT-Call mit Function-Call

Function GPTFunctionCall() As String
    Dim http As Object
    Dim apiKey As String
    Dim json As String
    Dim fnDef As String
    Dim inputParams As String

    apiKey = "DEIN_API_KEY"
    fnDef = BuildFunctionDefinition()
    inputParams = LeseFormwerte()

    json = "{" & _
      """model"":""gpt-4-0613""," & _
      """messages"":[{""role"":""user"",""content"":""Bitte generiere die ReisebestÀtigung""}]," & _
      """functions"":[" & fnDef & "]," & _
      """function_call"":{""name"":""reisebestaetigung_generieren"",""arguments"":" & inputParams & "}" & _
    "}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.openai.com/v1/chat/completions", False
    http.setRequestHeader "Authorization", "Bearer " & apiKey
    http.setRequestHeader "Content-Type", "application/json"
    http.Send json

    GPTFunctionCall = ParseAntwort(http.responseText)
End Function

Schritt 4: Antwort extrahieren

Function ParseAntwort(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).choices[0].message.content;}"
    ParseAntwort = sc.Run("parse", json)
End Function

Schritt 5: Text einfĂŒgen

Sub FuegeTextbausteinEin()
    Dim text As String
    text = GPTFunctionCall()
    Selection.InsertAfter vbCrLf & text & vbCrLf
End Sub

Was Du damit automatisieren kannst

BeispielTextbaustein
ReisebestÀtigungDatum + Ort + Zweck
VertragszusatzWerte aus Formular → juristische Formulierung
AngebotstextArtikel + Mengen → ĂŒberzeugender Fließtext
E-Mail-TextAnrede + Betreff → fertige Nachricht
GutachtenteilWerte, Ergebnisse → normierter Absatztext

Was Du beachten musst

  • GPT braucht definierte Parameter – sonst wird’s ungenau
  • Die Functions API erzwingt Struktur – gut fĂŒr Formulare
  • Antwort kommt als reiner Text zurĂŒck – kein HTML
  • Du kannst mehrere Functions definieren und GPT wĂ€hlen lassen

„Word weiß jetzt, was Du meinst. Und schreibt es gleich fĂŒr Dich auf.“

Wenn Du sowas brauchst – ich zeig Dir, wie Du aus Formularfeldern automatisch fertige Texte bekommst.
Kein Copy-Paste mehr. Nur noch klicken.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert