Worum geht’s?
Du hast lange Word-Texte.
Kein roter Faden. Keine Struktur. Kein Lesefluss.
Du willst daraus:
- eine logische Gliederung
- Zwischenüberschriften
- ggf. Umstrukturierung der Absätze
Machbar.
Per GPT oder Azure Language Services.
Direkt aus Word. Mit VBA.
Was brauchst Du?
- Word 2024 mit Makrozugriff
- OpenAI API oder Azure Language Resource
- Einen Text mit mehreren Absätzen
- Kein Tabellenwirrwarr – Fließtext reicht
Ziel
GPT soll analysieren:
- Welche Struktur hat der Text?
- Wo fehlen logische Abschnitte?
- Wo wäre eine Zwischenüberschrift hilfreich?
Und er soll Dir dann:
- eine nummerierte Gliederung liefern
- alternativ: den Text mit Vorschlägen formatieren
Beispiel-Prompt für GPT
Analysiere folgenden Text auf logische Struktur. Gib eine gegliederte Gliederung in maximal 5 Hauptpunkten mit optionalen Unterpunkten zurück. Gib keine vollständigen Sätze, sondern nur Überschriften.
Oder:
Gliedere folgenden Text und füge passende Zwischenüberschriften ein.
Formatiere jede Zwischenüberschrift als Überschrift 2.
GPT-Funktion in VBA
Function GPTGliederung(text As String, mode As String) As String
Dim http As Object
Dim apiKey As String
Dim prompt As String
Dim json As String
Dim result As String
apiKey = "sk-..." ' Dein OpenAI API-Key
If mode = "gliederung" Then
prompt = "Analysiere folgenden Text und gib eine strukturierte Gliederung mit maximal 5 Punkten zurück:" & vbCrLf & text
ElseIf mode = "formatierung" Then
prompt = "Füge im folgenden Text sinnvolle Zwischenüberschriften ein. Formatiere sie als **Überschrift 2**:" & vbCrLf & text
Else
GPTGliederung = "Ungültiger Modus"
Exit Function
End If
json = "{""model"":""gpt-4"",""messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}],""temperature"":0.4}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", "https://api.openai.com/v1/chat/completions", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Authorization", "Bearer " & apiKey
.send json
result = .responseText
End With
Dim startPos As Long, endPos As Long
startPos = InStr(result, """content"":""") + 11
endPos = InStr(startPos, result, """}")
GPTGliederung = Mid(result, startPos, endPos - startPos)
End Function
Text aus Word-Dokument analysieren
Sub GliederungErzeugen()
Dim text As String
Dim antwort As String
text = Left(ActiveDocument.Content.Text, 3000) ' Textlimit beachten
antwort = GPTGliederung(text, "gliederung")
Documents.Add
Selection.TypeText Text:="Vorgeschlagene Gliederung:" & vbCrLf & vbCrLf & antwort
End Sub
Formatierte Version mit Zwischenüberschriften einfügen
Sub TextMitZwischenüberschriften()
Dim text As String
Dim antwort As String
Dim para As Paragraph
text = Left(ActiveDocument.Content.Text, 3000)
antwort = GPTGliederung(text, "formatierung")
Documents.Add
Selection.TypeText Text:=antwort
For Each para In ActiveDocument.Paragraphs
If InStr(para.Range.Text, "**") > 0 Then
para.Range.Text = Replace(para.Range.Text, "**", "")
para.Style = "Überschrift 2"
End If
Next para
End Sub
Alternative: Azure Language Service – Text Analytics
Setup
- Azure Language Resource erstellen
- Endpoint & Key notieren
- API: „Extractive Summarization“ + ggf. „Key Phrases“
Vorteile
- DSGVO-konformer Betrieb möglich
- Analyse von größeren Texten
- Kein „freies Textmodell“ wie GPT, aber stabiler
Aufruf per HTTP
POST https://<region>.api.cognitive.microsoft.com/language/:analyze-text?api-version=2023-04-01
Headers:
- Ocp-Apim-Subscription-Key: <dein-key>
- Content-Type: application/json
Body:
{
"kind": "KeyPhraseExtraction",
"parameters": { "modelVersion": "latest" },
"analysisInput": {
"documents": [
{ "id": "1", "language": "de", "text": "..." }
]
}
}
Antwort: Liste mit Stichwörtern → kann man in Überschriften überführen.
Tipps aus der Praxis
- Texte vorher kürzen oder sinnvoll splitten
- GPT kann auch „Formatieren in Markdown“ – zur Vorstrukturierung
- Gliederungen immer nochmal gegenlesen
- Formatierte Antwort in neues Dokument ausgeben, nicht in das Original
Erweiterungsideen
- Gliederung automatisch als Inhaltsverzeichnis übernehmen
- Export als strukturierte PDF
- Analyse mehrerer Dokumente per Batch
- Integration in Word-Add-in mit Buttonsteuerung
Wenn Du unstrukturierte Texte automatisch in lesbare Kapitel bringen willst – dann lass GPT oder Azure für Dich gliedern, während Du den nächsten Kaffee holst.
No responses yet