title image


Smiley Re: hunderte Daten aus Exel Arbeitsmappe in Word-Serienbrief übertragen
Hallo,



genialer Tipp. Noch funktioniert es allerdings nicht. Ich habe mal versucht, den Code anzupassen. In dem Word-Dokument "Ja.dot" wird allerdings immer nur die erste von zwei Zeilen meines Testdikuments angezeigt. Die Datensätze habe ich dabei zeilenweise angeordnet.

Muss noch etwas im Code angepsst werden, dass ich übersehen habe?



Sub DruckeAusleihSchein()



Dim r_Liste As Range

Dim r_Felder As Range

Dim r_Datensatz As Range

Dim word As Object

Dim int_AnzFelder As Integer

Dim int_Spalte As Integer

Dim str_Feldname As String

Dim str_Feldinhalt As String



'Die Liste beginnt bei Zelle A1 und ist zusammenhängend

Set r_Liste = Range("a1").CurrentRegion

'In der ersten Spalte stehen die Zeilenüberschriften

Set r_Felder = r_Liste.Columns(1)

'Es wird die Anzahl der Felder festgehalten

int_AnzFelder = r_Felder.Rows.Count

'Dann wird der ausgewählte Datensatz ermittelt

Set r_Datensatz = Application.Intersect(r_Liste, ActiveCell.EntireColumn)



'Wenn ein Datensatz ausgewählt worden ist

If Not r_Datensatz Is Nothing Then

'wird Word gestartet

Set word = CreateObject("Word.Application")

'sichtbar gemacht ( kann evtl. entfallen!)

word.Visible = True

'und ein neues Dokument auf der Basis der Vorlage Ausleihschein.dot erstellt

word.Documents.Add Template:="E:\Sicherung\Tools\Textverarbeitung\Private Dokumentvorlagen\Ja.dot"

'In diesem neuen Dokument

With word.ActiveDocument

'wird entsprechend den Feldern in der Excel-Liste

For int_Spalte = 1 To int_AnzFelder

'ermittelt wie der jeweilige Feldname

str_Feldname = r_Felder.Cells(1, int_Spalte)

'und der zugehörige Feldinhalt - in der ausgewählten Zeile - lauten und,

str_Feldinhalt = r_Datensatz.Cells(1, int_Spalte)

'wenn eine enstprechende textmarke im Word-Dokument existiert,

If .Bookmarks.Exists(str_Feldname) Then

'wird dort der zugehörige ausgewählte Inhalt eingefügt

.Bookmarks(str_Feldname).Range = str_Feldinhalt

End If

Next

'Am Schluss wird das ganze ausgedruckt (' wegmachen)

'.PrintOut

End With

'Dann wird Word beendet (ohne Speichern, bei Bedarf auch mit)

word.Quit

Set word = Nothing

Else

MsgBox "Kein Datensatz ausgewählt!"

End If

End Sub

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: