VisualBasic Serienbrief Elememente auslesen

Spookykid

Ensign
Registriert
Feb. 2005
Beiträge
180
Hallo Gemeinde,

ich habe bereits code, der mir für jedes erstellte Serienbrief-Dokument eine eigene Word-Datei anlegt.
Ich möchte nun auch, dass der Dateinamen sich aus einem Element der Datenquelle zusammensetzt.

Wie kann in VB ein Element im Serienbrief angesprochen werden?

Hier mal der bisherige code.

Code:
Sub Serie2Einzeldoc()
'
' Druckt Serienbrief in einzelne Dokumente aus
'

Application.ScreenUpdating = False
Application.Visible = False

Const path As String = "c:\Temp\"          'Pfad anpassen
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
LetzterRec = Word.ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord


    With ActiveDocument.MailMerge
        .DataSource.ActiveRecord = wdFirstRecord
        Do
            If .DataSource.ActiveRecord > 0 Then
                .Destination = wdSendToNewDocument
                .SuppressBlankLines = True

                With .DataSource
                    .FirstRecord = .ActiveRecord
                    .LastRecord = .ActiveRecord
                   
                Dateiname = path & ".doc"
                End With
                .Execute Pause:=False
               
                ActiveDocument.SaveAs FileName:=Dateiname           'Speichern unter Dateiname
                ActiveDocument.Close False
               
            End If
            If .DataSource.ActiveRecord < LetzterRec Then
                .DataSource.ActiveRecord = wdNextRecord
            Else
                Exit Do
            End If
        Loop
    End With
   
    Application.Visible = True
    Application.ScreenUpdating = True
End Sub

schonmal vielen dank für eure hilfe.
 
z. Bsp. mit

Dateiname = path & ActiveDocument.MailMerge.DataSource.DataFields.Item(2) & ".doc"

Wenn Du den Inhalt des zweiten Feldes möchtest.
 
Hi,

mit den Befehl

Datei = ActiveDocument.MailMerge.DataSource.DataFields.Item(2).Value

bekommst Du z.B. dass 2 Tabellenfeld ausgelesen

und mit

ActiveDocument.MailMerge.DataSource.DataFields.Item(2).Name

Kannst Du Dir die Spaltenüberschrift ausgeben lassen.
 
Zuletzt bearbeitet:
Vielen dank. es hat funktioniert.
 
Zurück
Oben