Zwischenablage bei Bookmark einfügen VBA
02.07.2021 19:28:59
Lars
ich bin seit längerer Zeit auf der Suche nach einer Lösung für mein VBA-Problem (habe noch nie ein VBA-Skript geschrieben) und komme an einer Stelle nicht weiter.
Zum Gesamtprojekt: Ich möchte aus Excel heraus ein VBA-Skript starten, welches eine bestimmte Tabelle mit unterschiedlich vielen Inhalten in die Word-Datei überträgt. Dazu muss erkannt werden wie viele Datensätze in der Tabelle sind und dementsprechend ein bestimmter Teil in der Word Datei eingefügt werden um dort die Datensätze einzufügen. Standartmäßig ist dieser "Einfügebereich" nur einmal - also nur für einen Excel-Datensatz - da. Deshalb zählt das Skript die Anzahl der Datensätze - das klappt - und soll genau so oft diesen "Einfügebereich" an einer Stelle, die als Bookmark im Word-Dok gekennzeichnet ist einfügen. Daran scheitere ich (alles andere klappt also Daten aus Excel kopieren und in Einfügebereich einfügen). Ich versuche diesen Einfügebereich im Word-Dok durch Bookmarks zu kennzeichnen und zu kopieren und dann unter dem ersten Einfügebereich (bei der Bookmark "Platzhalter_Mehrarbeit") einzufügen. Weiß jemand wie das funktioniert, also den Inhalt der Zwischenablage bei einer Bookmark einzufügen oder eben an einer bestimmten Stelle einzufügen? Mein kommentierter Codeversuch für den relevanten Teil (Range kopieren und an Bookmark einfügen) ist anbei zu sehen.
Vielen Dank für jeden Hinweis!
'kopieren der gewünschten Inhalte aus Excel, auswählen des entsprechenden Lesezeichens in Word und einfügen der Inhalte:
With wdApp
Set RangeMehrarbeitVorlage = wdDoc.Range( _
Start:=wdDoc.Bookmarks("Beginn_Vorlage_Mehrarbeit").Range.Start, _
End:=wdDoc.Bookmarks("Ende_Vorlage_Mehrarbeit").Range.End)
RangeMehrarbeitVorlage.Copy
'damit wird in die Range RangeMehrarbeitVorlage der gewünschte Inhalt reinkopiert - oder zumindest in den Zwischenspeicher, das funktioniert noch.
wdDoc.Paste Destination:=wdDoc.Bookmarks("Platzhalter_Mehrarbeit")
wdDoc.RangeMehrarbeitVorlage.Paste
'so wollte ich den kopierten Inhalt an die Stelle der im Word-Doc erstellten Bookmark einfügen - funktioniert leider nicht
Set PlatzhalterRange = wdDoc.Bookmarks("Platzhalter_Mehrarbeit").Range
PlatzhalterRange.Text = wdDoc.Bookmarks("Platzhalter_Mehrarbeit").Range.Text & "RangeMehrarbeitVorlage"
wdDoc.Bookmarks.Add "Platzhalter_Mehrarbeit", PlatzhalterRange
'nächster Versuch: es wird nur der Variablenname eingefügt an der richtigen Stelle eingefügt aber nicht die Zwischenablage die in der Variable gespeichert ist,
es steht also "RangeMehrarbeitVorlage" im Word Dokument an der Stelle wo ich die Zwischenablage (eine Tabelle mit Text und zwei kleinen Bildern) einfügen wollte.
End With
Anzeige