Wie kann ich den Laufzeitfehler 5941 "Das angeforderte Element ist nicht in der Sammlung vorhanden" bei Word, wenn ich ein Makro aufzeichne, verhindern?
Hallo,
ich versuche ein Makro aufzuzeichnen, welches mir Deckblatt und Inhaltsverzeichnis in ein Word Dokument einfügt. Leider funktioniert das nicht. Bedeutet das, dass sowohl Deckblatt als auch Inhaltsverzeichnis nicht in ein Makro integriert werden können?
Danke für eure Hilfe und ich freu mich auf eure Antworten
1 Antwort
Hallo,
leider kann ich dir so noch nicht wirklich weiterhelfen.
Wie kann ich den Laufzeitfehler 5941 »Das angeforderte Element ist nicht in der Sammlung vorhanden« bei Word, wenn ich ein Makro aufzeichne, verhindern?
Um welches Element geht es denn? Also welches Element/welcher Befehl wird dir denn gelb markiert, wenn du bei der Fehlermeldung den Debugger aufrufst?
Bei meinen eigenen Makros tauchte der Fehler beispielsweise auf, wenn ich vergessen hatte, eine Textmarke zu definieren und auf diese dann zugreifen wollte. Wenn es die Textmarke im Dokument aber nicht gibt, spuckt Word diese Fehlermeldung aus.
Für die Beantwortung der Frage wäre dein Code sehr hilfreich. Dann kann man den Fehler leichter nachvollziehen.
Ich versuche ein Makro aufzuzeichnen, welches mir Deckblatt und Inhaltsverzeichnis in ein Word Dokument einfügt.
Der Befehl, um ein Deckblatt in Word einzufügen, könnte beispielsweise so aussehen:
Application.Templates("C:\Users\<Dein Benutzername>\AppData\Roaming\Microsoft\Document Building Blocks\1031\14\Built-In Building Blocks.dotx").BuildingBlockEntries("Nadelstreifen").Insert Where:=Selection.Range, RichText:=True
Dabei wird der Name des Deckblatts ("Nadelstreifen") angegeben, der in der Dokumentvorlage Built-In Building Blocks gespeichert ist. Wäre dieses Deckblatt nicht vorhanden, könnte ich mir vorstellen, dass diese Fehlermeldung kommt.
Hier ist es vor allem auch wichtig, dass du Word sagst, wo dein Deckblatt zu finden ist, also wo es gespeichert wurde.
Ich kann mir auch vorstellen, dass Word diesen Fehler meldet, wenn hier die Dokumentvorlage Building Blocks nicht am angegebenen Ort auf dem Rechner vorhanden ist. Das sind aber alles nur Vermutungen, denn getestet habe ich das nicht.
Der B
efehl für das Erzeugen des Inhaltsverzeichnisses könnte so aussehen:
With ActiveDocument
.TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _
UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:=True
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With
Allerdings wüsste ich jetzt nicht, dass bei diesem Befehl nach einem Element gesucht würde, das diese Fehlermeldung erzeugen könnte.
So, ich hoffe, das hilft vorerst ein bisschen weiter.
Wie gesagt, für die Beantwortung der Frage wäre dein Code ganz gut.
Gruß, BerchGerch