Bist du Brillenträger? – Nein, die Druckstellen auf der Nase kommen vom Bierglas.
Boah, ist das mies!
Ich soll ein kleines Programm schreiben, das alle Word-Vorlagen in einem Dokument öffnet und ein Barcodefeld am unteren Ende der Seite einfügt.
Klappt ziemlich gut. Bei einigen allerdings nicht.
Vor allem bei Formularen, auf denen vorher ein Schutz war (den ich per VBA entfernt habe), zickt er. Word macht bei dem Befehl
Set wdTextbox = wdDokument.Shapes.AddTextbox(msoTextOrientationHorizontal, (210 - 18) * 2.54, (297) * 2.54, 113, 85)
Gar nichts. Einfach nichts. Nada. Nicht einmal einen Fehler.
Bis ich dahinter komme:
Nach Aufheben des Schutzes befindet sich der Cursor (meistens) in einem Formularfeld:

Obwohl das wdDokument das aktuelle Dokument meint, fügt Word vielleicht (?) die Textbox in das Formularfeld ein. Egal: einige Versuche: Springt man zum Ende des Dokuments und wieder zum Anfang und fügt dann das Shape ein, so klappt es:
wdDokument.Activate
Selection.EndKey Unit:=wdStory
Selection.HomeKey Unit:=wdStory
' -- damit der Cursor nicht in einem Formularfeld sitzt
' -- erstelle den QR-Code
Set wdTextbox = Dokument.Shapes.AddTextbox(msoTextOrientationHorizontal, (210 - 18) * 2.54, (297) * 2.54, 113, 85)