Klasse MappedDataField (Word VBA)

Zugeordnete Datenfelder sind Felder in Microsoft Word, die häufig verwendete Namen- oder Adressinformationen, wie z. B. "First Name" repräsentieren. Um eine MappedDataField -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise


Dim mdf as MappedDataField
Set mdf = ActiveDocument.MailMerge.DataSource.MappedDataFields(Index:=1)

For Each

Hier ist ein Beispiel für die Verarbeitung der MappedDataField -Elemente in einer Sammlung


Dim mdf As MappedDataField
For Each mdf In ActiveDocument.MailMerge.DataSource.MappedDataFields
	
Next mdf

DataFieldIndex

Zurückgeben oder Festlegen einer Long , der die entsprechende Feld Nummer in der Seriendruck-Datenquelle darstellt, der einem zugeordneten Datenfeld zugeordnet ist.

Diese Eigenschaft gibt den Wert 0 (Null) zurück, wenn das angegebene Datenfeld keinem zugeordneten Datenfeld zugeordnet ist.


Sub MapField() 
 With ActiveDocument.MailMerge.DataSource 
 .MappedDataFields(wdAddress1).DataFieldIndex = _ 
 .FieldNames("PostalAddress1").Index 
 End With 
End Sub

DataFieldName

Legt fest oder gibt eine Zeichenfolge , die den Namen des Felds in der Seriendruck-Datenquelle darstellt, die einem zugeordneten Datenfeld zugeordnet ist.

Wenn das angegebene Datenfeld keinem zugeordneten Datenfeld zugeordnet ist, wird von dieser Eigenschaft eine leere Zeichenfolge zurückgegeben.


Sub MappedFields() 
 Dim intCount As Integer 
 Dim docCurrent As Document 
 Dim docNew As Document 
 
 On Error Resume Next 
 
 Set docCurrent = ActiveDocument 
 Set docNew = Documents.Add 
 
 'Add leader tab to new document 
 docNew.Paragraphs.TabStops.Add _ 
 Position:=InchesToPoints(3.5), _ 
 Leader:=wdTabLeaderDots 
 
 With docCurrent.MailMerge.DataSource 
 
 'Insert heading paragraph for tabbed columns 
 docNew.Content.InsertAfter "Word Mapped Data Field" _ 
 & vbTab & "Data Source Field" 
 
 Do 
 intCount = intCount + 1 
 
 'Insert Word mapped data field name and the 
 'corresponding data source field name 
 docNew.Content.InsertAfter .MappedDataFields( _ 
 Index:=intCount).Name & vbTab & _ 
 .MappedDataFields(Index:=intCount) _ 
 .DataFieldName 
 
 'Insert paragraph 
 docNew.Content.InsertParagraphAfter 
 Loop Until intCount = .MappedDataFields.Count 
 
 End With 
 
End Sub

Index

Gibt einen Wert vom Typ Long zurück, der die Position eines Elements in einer Auflistung darstellt.


Dim lngIndex As Long
lngIndex = ActiveDocument.MailMerge.DataSource.MappedDataFields(1).Index

Name

Gibt den Namen des angegebenen Objekts zurück.


Dim strName As String
strName = ActiveDocument.MailMerge.DataSource.MappedDataFields(1).Name

Value

Gibt den Inhalt des Felds Seriendruckdaten oder zugeordnete Daten für den aktuellen Datensatz zurück.

Mithilfe der ActiveRecord-Eigenschaft können Sie den aktiven Datensatz in einer Seriendruck-Datenquelle festlegen


For Each dataF In _ 
 Documents("Main.doc").MailMerge.DataSource.DataFields 
 If dataF.Value <> "" Then dRecord = dRecord & _ 
 dataF.Value & vbCr 
Next dataF 
MsgBox dRecord