Je geeft niet aan waar die extra tekst moet komen; ik zou daar een aparte DocVariabele voor gebruiken. Maar die is er dus niet

.
Om te beginnen: je opzet is nu niet helemaal correct meer. Als je een variabele wilt hergebruiken in een andere routine, moet je hem globaal declareren en niet in een procedure. Dus helemaal bovenin:
Code:
Option Explicit
Dim strOpdrOpties As String, strExtraZin As String
Daarnaast moet je de naam van de variabele niet hetzelfde doen als de naam van het object, want daar wordt Word natuurlijk helemaal gek van. Zie het alsof je 12 kinderen hebt, die allemaal Jaap heten. Niet handig

.
Code:
Private Sub cboOpdrOpties_Change()
Select Case cboOpdrOpties
Case "Optie1"
strOpdrOpties = "Tekst 1 als voorbeeld"
Case "Optie2"
strOpdrOpties = "Tekst 2 als ander voorbeeld"
Case "Optie3"
strOpdrOpties = "tekst 3 als ultieme voorbeeld"
End Select
End Sub
En dit is genoeg om de veldcode te plaatsen:
Code:
Private Sub cmdok_Click()
Dim ct As Control
Dim docVar As Variable
Dim shp As InlineShape
For Each ct In Controls
If TypeName(ct) = "TextBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Text = "", " ", ct.Text)
If TypeName(ct) = "CheckBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Value = 0, 0, 1)
If TypeName(ct) = "ComboBox" Then
ActiveDocument.Variables(ct.Name).Value = IIf(strOpdrOpties = "", " ", strOpdrOpties)
End If
Next
For Each shp In ActiveDocument.InlineShapes
With shp
If .OLEFormat.ProgID = "Forms.OptionButton.1" Then
.OLEFormat.Object.Value = Me("Opt" & .OLEFormat.Object.Name).Value
End If
End With
Next shp
ActiveDocument.Fields.Update
Unload Me
End Sub