Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

967 views
Skip to first unread message

Egon Heller

unread,
Jan 20, 2009, 6:55:53 AM1/20/09
to
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

Christian Freßdorf

unread,
Jan 20, 2009, 1:53:53 PM1/20/09
to
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

Egon Heller

unread,
Jan 21, 2009, 7:44:11 AM1/21/09
to
Hallo Christian,
vielen Dank für Deine Hilfe!
Dein Vorschlag war die Lösung - es funktioniert.

Es grüßt Dich
Egon


"Christian Freßdorf" <ungu...@nurfuerspam.de> schrieb im Newsbeitrag
news:B126DF14-B553-49B3...@microsoft.com...

Egon Heller

unread,
Jan 21, 2009, 8:32:13 AM1/21/09
to
Hallo Christian,
darf ich noch eine Frage nachschieben?
In meiner Rechnung habe ich den Macro-Aufruf:
{Macrobutton BerechnungszeileEinfügen Hier doppelklicken, um eine neue
Berechnungszeile einzufügen }
Diese Zeile sollte natürlich nur als Anzeige im Dokument sichtbar sein nicht
aber ausgedruckt werden.
Lässt sich der Ausdruck dieser Zeile beim Drucken unterbinden?
Gruß
Egon


"Christian Freßdorf" <ungu...@nurfuerspam.de> schrieb im Newsbeitrag
news:B126DF14-B553-49B3...@microsoft.com...

Thomas Gahler

unread,
Jan 21, 2009, 9:25:25 AM1/21/09
to
Hallo Egon


> Diese Zeile sollte natürlich nur als Anzeige im Dokument sichtbar sein
> nicht aber ausgedruckt werden.
> Lässt sich der Ausdruck dieser Zeile beim Drucken unterbinden?

Vielleicht als 'ausgeblendet' formatieren

Format / Zeichen / Ausgeblendet

--
Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)


Christian Freßdorf

unread,
Jan 21, 2009, 9:33:43 AM1/21/09
to
Hallo,

wie Thomas schrieb.
Kannst du auch prima per Suchen und Ersetzen hinbekommen:

Feldcode per Alt+F9 anzeigen lassen und suchen nach:

^d MACROBUTTON

^d ist unter Word2000 die Suche nach einem Feld

ERsetzen durch:
^& (Format: ausgeblendet)

^& ist der Suchtext

Feldcode wieder zurückschalten

HTH
Christian


Egon Heller

unread,
Jan 21, 2009, 12:31:21 PM1/21/09
to

"Christian Freßdorf" <ungu...@nurfuerspam.de> schrieb im Newsbeitrag
news:B267F315-EFD0-45EC...@microsoft.com...

> Hallo,
>
> wie Thomas schrieb.
> Kannst du auch prima per Suchen und Ersetzen hinbekommen:
>
> Feldcode per Alt+F9 anzeigen lassen und suchen nach:
>
> ^d MACROBUTTON
>
> ^d ist unter Word2000 die Suche nach einem Feld
>
Ich habe mit Word 2007 unter START> Bearbeiten> Suchen,
Suchen nach: ^d MACROBUTTON eingegeben.
Mit "Weiter" wird die Markierung auf weitere Felder gesetzt.

Ab jetzt setzt habe ich eine Verständnislücke, für das Ersetzen und auch den
Feldcode wieder zurückzuschalten.

Mein Ziel ist es den Hinweistext des Macrobutton beim Drucken zu
unterbinden.
In meinem Versuch, Deinen Hinweis gemäß vorzugehen, wird obiger Text in
Anführungszeichen gesetzt.
Das Drucken konnte ich damit nicht wunschgemäß verändern.

Ich wäre Dir deshalb dankbar, wenn Du mir und natürlich allen Interessierten
etwas detailierter erklären könntest,
wo ich bestimmt von falschen Annahmen ausgehe. Vielleicht etwas praxisnah?

Christian Freßdorf

unread,
Jan 22, 2009, 4:47:33 PM1/22/09
to
Hi,

ok hier mal ein Makro, das du in die Normal.dot oder das Dokument
einbindest.
Wenn Du dann auf die Schaltfläche "Office"->Drucken->SchnellDruck klickst,
werden die Macrobutton-Texte ausgeblendet, das Dokument gedruckt und die
Macrobutton-Texte wieder eingeblendet.

Sub FilePrintDefault()
Dim rng As Range
'
' Texte ausblenden
Set rng = ActiveDocument.Range
Application.ActiveWindow.View.ShowFieldCodes = True
With rng.Find
.ClearFormatting
.Text = "^d MACROBUTTON"
.Forward = True
.Execute
Do While .Found = True
rng.Font.Hidden = True
.Execute
Loop
End With
Application.ActiveWindow.View.ShowFieldCodes = True
Application.ActiveWindow.View.ShowHiddenText = False
Application.ActiveWindow.View.ShowAll = False

' ausdrucken
ActiveDocument.PrintOut Background:=False
'
' Texte wieder einblenden
Set rng = ActiveDocument.Range
Application.ActiveWindow.View.ShowFieldCodes = True
With rng.Find
.ClearFormatting
.Text = "^d MACROBUTTON"
.Forward = True
.Execute
Do While .Found = True
rng.Font.Hidden = False
.Execute
Loop
End With

End Sub

Gruß
Christian

Egon Heller

unread,
Jan 23, 2009, 7:41:09 AM1/23/09
to
Hallo Christian,
vielen Dank für Deine Mühe mit mir.
Ich habe Dein Makro eingebaut.
Das Drucken funktioniert wie Du beschrieben hast,
doch nach dem Drucken wird mir der komplette Macrobutton-Code im Dokument
gelöscht.

Nun habe ich zwischenzeitlich auch Versuche gestartet und bin auf eine
Alternative gekommen:
Ich habe in den Wort-Optionen unter Anzeigen, "Formatierungszeichen immer am
Bildschirm anzeigen",
das Kontrollkästchen aktiviert, und den Macrobutton-Text ausgeblendet.
Damit wird im Dokument der Macrobutton-Text sichtbar und beim Drucken
ausgeblendet.
Microsoft hat also eine gute Möglichkeit dazu eröffnet, ohne eine Zeile
programmieren zu müssen.

Gruß
Egon Heller

"Christian Freßdorf" <ungu...@nurfuerspam.de> schrieb im Newsbeitrag

news:%234zbJsN...@TK2MSFTNGP02.phx.gbl...

Thomas Gahler

unread,
Jan 23, 2009, 7:54:24 AM1/23/09
to
Hallo Egon


> Ich habe in den Wort-Optionen unter Anzeigen, "Formatierungszeichen immer
> am Bildschirm anzeigen",
> das Kontrollkästchen aktiviert, und den Macrobutton-Text ausgeblendet.
> Damit wird im Dokument der Macrobutton-Text sichtbar und beim Drucken
> ausgeblendet.

Was ja eigentlich meinem Vorschlag entspricht ;-) nur war der in
WordXP-Syntax statt Word2007-Syntax geschrieben. Aber ist ok, wenn alle
gelich weit sind...

Egon Heller

unread,
Jan 23, 2009, 11:22:21 AM1/23/09
to
Hallo Thomas,
vielen Dank und Entschuldigung, dass ich im Eifer keine Stellung zu Deiner
Hilfe genommen habe.
Ich habe Deinen Hinweis wohl nicht richtig verstanden.
Manchmal geht das Licht erst an wenn es schon dämmert.
Gruß
Egon

"Thomas Gahler" <wurze...@LASSEN.bluemailch> schrieb im Newsbeitrag
news:uBDC7mVf...@TK2MSFTNGP05.phx.gbl...

0 new messages