Fehler 5941: Das angeforderte Element ist nicht in der Sammlung vorhanden

20/01/2009 - 12:55 von Egon Heller | Report spam
Hallo,
ich arbeite mit Microsoft Word 2007.
In einem Dokument habe ich ein Rechnungsformular als Word-Tabelle.
Über ein Macrobutton versuche ich eine Berechnungszeile als Schnellbaustein
als Tabellenzeile anzuhàngen.
Der Schnellbaustein (Tabellenzeile:"Rechnungszeile") ist mit der Vorlage
Building Blocks erstellt
und in Building Bocks und in "Normal" zu finden.

Wenn ich diesen Schnellbaustein direkt anklicke, wird er an die Tabelle
angefügt.
Der notwendige VBA-Code ist erstellt.
Doch es kommt die Fehlermeldung: "Das angeforderte Element ist nicht in der
Sammlung vorhanden."
Wird hier an einer falschen Stelle gesucht?
Es wird kein Hinweis gegeben, wo er das Element nicht findet.
Meiner Vorstellung nach, sollte das doch die Vorlage Building Block sein?

Die Codezeile des Ausstiegs ist:
ActiveDocument.AttachedTemplate.BuildingBlockEntries(strBaustein).Insert _
Where:=Selection.Range

Kann hier Abhilfe geschaffen werden?
Ich würde mich über Eure Hilfe dazu freuen.

Mit freundlichen Grüßen
Egon Heller
 

Lesen sie die antworten

#1 Christian Freßdorf
20/01/2009 - 19:53 | Warnen spam
Hallo,

du must sicherstellen, dass die BuildingBlocks auch zu dem Zeitpunkt geladen
ist:

Function FindBuildingBlocksDOTX() As Template
Dim objTemplate As Template
For Each objTemplate In Templates
If objTemplate.Name = "Building Blocks.dotx" Then
Set FindBuildingBlocksDOTX = objTemplate
Exit For
End If
Next objTemplate
If FindBuildingBlocksDOTX Is Nothing Then
Templates.LoadBuildingBlocks
Set FindBuildingBlocksDOTX = FindBuildingBlocksDOTX
End If
End Function


der Aufruf erfolgt dann

Dim objTemplate As Template
Set objTemplate = FindBuildingBlocksDOTX
' weiterer Code
' Fußzeile 1. Abschnitt, 1. Seite
objTemplate..BuildingBlockEntries(strBaustein).Insert _
Where:=Selection.Range


ungetestet, sollte aber klappen.

Gruß
Christian

Ähnliche fragen