Und wie befüllst Du Deine Scriptvariablen? Wenn Du dort keine Liste oder ähnliches nimmst, schreibst Du an der Stelle ja auch schon alles mehrfach.
name1 = doc.Name1 (0)
name2 = doc.Name2 (0)
So solltest Du es besser nicht machen ...
Falls es überhaupt notwendig ist, die Variablen in Script vorzuhalten, wäre das mit einer Liste sehr elegant
Dim felder List As String
For x = 0 To 10
felder ("name" & x) = doc.GetItemValue ("name" & x) (0)
Next x
Deine Print-Routine sieht dann so aus
Forall feld In felder
If feld = "" Then
Print Listtag (feld) & " leer"
End If
End If
Aus der Liste heraus füllst Du später ganz simpel die Felder des Dokuments
Forall feld in felder
Call doc.ReplaceItemValue (Listtag (feld), feld)
End Forall