Word 2007: Makro läuft nicht sauber

Hallo zusammen!

System: Word 2007 unter Windows Vista Home Premium

Per Aufzeichnungsfunktion habe ich ein Makro erstellt. Es bewirkt u. a., dass…

  1. ein Dokument ausgedruckt wird,
  2. per Schnellbaustein ein Textfeld eingefügt wird und
  3. das Dokument noch einmal ausgedruckt wird.

Das Makro stoppt an der Stelle, an der das Textfeld eingefügt werden soll:

ActiveDocument.AttachedTemplate.BuildingBlockEntries(„KOPIE“).Insert Where _
:=Selection.Range, RichText:=True

Was habe ich falsch gemacht?
Danke für Tipps!

Falls es hilft, hier das ganze Makro:

Sub RechnungDrucken()

’ RechnungDrucken Makro


Selection.WholeStory
Selection.Fields.Update
Selection.Fields.Unlink
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = „.Docx“
.Replacement.Text = „“
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveLeft Unit:=wdCharacter, Count:=1
ActiveDocument.PrintOut
ActiveDocument.AttachedTemplate.BuildingBlockEntries(„KOPIE“).Insert Where _
:=Selection.Range, RichText:=True
ActiveDocument.PrintOut
ActiveDocument.Save
End Sub

Das Makro stoppt an der Stelle, an der das Textfeld eingefügt
werden soll:

Hallo Peter,

Wenn du im VB-Editor das makro mit F8 durchgehst, bleibt es an der Stelle einfach stehen, ohne Fehlermeldung vom Debugger?

Gruß
Reinhard

Wenn du im VB-Editor das makro mit F8 durchgehst, bleibt es an
der Stelle einfach stehen, ohne Fehlermeldung vom Debugger?

Gruß
Reinhard

Hallo Reinhard!
Danke erstmal für deine Antwort.
Ich bekomme folgende Fehlermeldung:

Laufzeitfehler „5941“:
Das angeforderte Element ist nicht in der Sammlung vorhanden.

Das angeforderte Element (Textfeld) ist jedoch sehr wohl in der „Building Blocks.dotx“ enthalten. Oder gehört es etwa woanders hin?

Gruß
Peter

Laufzeitfehler „5941“:
Das angeforderte Element ist nicht in der Sammlung vorhanden.

Hallo Peter,

spontan würde ich bei so einer Fehlermeldung erstmal genauestens Schreibweisen überprüfen. Groß/Kleinschreibung bewirkt manchmal schon was, Leerzeichen,usw.)

Wenn da alles korrekt ist, würde ich mal in einer For each- Schleife alle Objekte dieser „Sammlung“ durchgehen ob da deine Textbox oder was das war dabei ist.

Gruß
Reinhard

spontan würde ich bei so einer Fehlermeldung erstmal
genauestens Schreibweisen überprüfen. Groß/Kleinschreibung
bewirkt manchmal schon was, Leerzeichen,usw.)

Hallo Reinhard,
die Schreibweise stimmt. Der Baustein „KOPIE“ ist auch der einzige, den ich bisher definiert habe (bin eben erst auf 2007 umgestiegen). Ich kann also derzeit noch gar keinen Kuddelmuddel angerichtet haben.
Danke für deine Mühe!
Peter

Hallo, Reinhard!
Mittlerweile habe ich einen Lösungsansatz gefunden.
Siehe http://www.tech-archive.net/Archive/German/Word/micr…

Damit Textbausteine zur Verfügung stehen, muss folgendes gegeben sein (Zitat aus o. g. Link):

Sollen Bausteine aus einer anderen Vorlage als Building Blocks.dotx oder Normal.dotm global zur Verfügung stehen, muss die jeweilige Dokumentvorlage im Building Blocks-Ordner gespeichert werden:
C:\Users[User]\AppData\Roaming\Microsoft\Document Building Blocks\1031.

Was jetzt funktioniert: Mit Doppelklick auf meine dotm (im Ordner 1031) kann ich ein neues Dokument erstellen, mit dem das Makro sauber läuft.
Was noch nicht funktioniert: Im Wordmenü |Datei|neu| wird mir meine dotm (im Ordner 1031) nirgendwo zur Auswahl angeboten.

Neue Wordversionen bringen offensichtlich nicht zwangsläufig nur Vereinfachungen mit sich…

Gruß
Peter