1.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich habe eine Adressdatei mittels Excel 7 erstellt.
Nun möchte ich mit einer Makro-Aufzeichnung den jeweiligen Adressblock markieren, kopieren und in einen Vorlagebrief Word 7 mittels Einfügen in die Adresszeile übertragen.

Kann ich auf dem Wege der Makro-Ausführung diese Wordvorlage aufrufen? Leider beherrsche ich nicht die VBA-Programmierung.

Über einen Tipp würde ich mich freuen.

Gruß

4 Antworten

0 Punkte
Beantwortet von
Hallo Hunsigno,

das geht durchaus. Am besten zeichnest du zunächst im Excel ein Makro bis zum Kopieren des Adressblocks auf.

Im Word zeichnest du ein Makro auf, das den Adressblock einfügt.

Diese beiden Codes musst du noch zusammenbringen:
Um im Excel auf Word zuzugreifen brauchst du diese beiden Befehle:
Set wrd = CreateObject("Word.Application")
wrd.Visible = True

Das Kürzel wrd steht für das Application-Objekt von Word.
Schreibe den Word Code also so um, dass er vom Application-Objekt aus funktioniert.

Ich weiß, das ist für einen Neuling ziemlich viel Techno-Babbel. Aber ohne weitere Infos kann ich dir hier leider nicht weiter helfen.

Gruß Mr. K.
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

warum nutzt du nicht die Serienbrieffunktion von WORD? Da kannst du ohne VBA-Kenntnisse deine in Excel erstellten Adressen in ein WORD-Dokument einbinden.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo und vielen Dank für Eure Antworten.

ich möchte diese Aktion so einfach, wie möglich handhaben.
Nach dem Ausführen "Kopieren" habe ich die beiden Befehle zum Aufruf von Word aus Excel eingegeben, hat auch fuktioniert.
Wenn ich aus dem Excel -Makro danach auch die Word-Vorlage aufrufen könnte, hatte ich es so, wie ich möchte.

Die Vorlage liegt z.B. auf c:\User\Daten etc. Wie würde der entsprechend Makro-EIntrag aussehen?

Danke !
0 Punkte
Beantwortet von
Hallo nochmal,

Sorry für die kurze Antwort. Leider musste ich gestern schnell weg.

Nachtrag zu:
Schreibe den Word Code also so um, dass er vom Application-Objekt aus funktioniert.

Das kann in den allermeisten Fällen gemacht werden, indem man den aufgezeichneten Code aus Word in das Excel VBA Projekt kopiert und dort das Objekt-Kürzel (hier wrd.) vor jede Codezeile voranstellt.

Angenommen du hast in A1 den Namen, in A2 die Straße und in A3 die PLZ und den Ort stehen und willst das in Word in die Absätze 1, 2 und 4 einfügen, dann wäre eine mögliche Lösung:

Sub ExcelToWord()

'A1=Name
'A2=Straße
'A3=PLZ & Ort

Set wrd = CreateObject("Word.Application")
wrd.Visible = True

wrd.Documents.Open Filename:="H:\Tests\Briefvorlage.docx"
With wrd.ActiveDocument
.Paragraphs(1).Range.Text = Range("A1").Text & Chr(13)
.Paragraphs(2).Range.Text = Range("A2").Text & Chr(13)
.Paragraphs(3).Range.Text = Range("A3").Text & Chr(13)
.Save
.Close
End With

wrd.Quit 'Word Schließen

End Sub


Grüße Mr. K.

PS: Die von M.O. vorgeschlagene Serienbrieffunktion als mögliche Lösung solltest du aber nicht gleich vernachlässigen. In vielen Fällen kann man sich damit eine Menge Zeit sparen.
...