AW: Excel mit Word Verknüpfen
22.07.2011 07:27:49
JoWE
Hallo BoB,
so könnte es gehen:
Benötigt wird ein Word-Template mit den für den Beleg konstanten Textbestandteilen und Textmarken für die variablen Textpassagen. In einer Exceltabelle befinden sich die Datensätze, deren Feldnamen (Überschriften) die Textmarken repräsentieren. Ein Makro startet Word, erstellt ein neues Dokument auf Basis des Word-Templates und schreibt die entsprechenden Inhalte aus der Exceltabelle in die Textmarken. Der zu druckende Datensatz (die entsprechende Zeile) der Tabelle, der in das Word-Dokument übertragen wird, kann im Makro über eine Inputbox, über einen Doppelklick in eine Zeile oder über eine UF gesteuert werden.
Z.B. würde man mit diesem Makro den Datensatz aus der zweiten Zeile der Exceltabelle drucken (sofern das Word-Template vorhanden wäre):
Option Explicit
Sub Beleg_drucken()
Dim wd As Word.Application
Dim vPath As String
Dim sh As Worksheet
Dim zeile As Long
Set wd = CreateObject("word.Application")
Set sh = Sheets("Daten")
zeile = 2 'oder festlegen über UF-Aufruf oder Inputbox
vPath = ActiveWorkbook.Path & "\"
wd.Documents.Add (vPath & "Ausgabebeleg.dot")
With wd.Application.Selection
.GoTo What:=wdGoToBookmark, Name:="Name"
.TypeText Text:=sh.Cells(zeile, 1).Value
.GoTo What:=wdGoToBookmark, Name:="Abteilung"
.TypeText Text:=sh.Cells(zeile, 2).Value
'und so weiter mit den weiteren Datenfeldern....
.HomeKey Unit:=wdStory
End With
wd.Application.Visible = True
wd.Application.WindowState = wdWindowStateMaximize
wd.Application.Activate
'oder
wd.Application.PrintOut Copies:=2
End Sub
Gruß Jochen