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.

Set

Um eine MappedDataField -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

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

Die folgenden Prozeduren können zum Festlegen der MappedDataField Klassenvariablen verwendet werden : MappedDataFields.Item und MailMergeDataSource.MappedDataFields

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

Parent

Gibt einen Wert vom Typ Object zurück, der das übergeordnete Objekt des angegebenen MappedDataField-Objekts darstellt.

Dim objParent As Object
Set objParent = ActiveDocument.MailMerge.DataSource.MappedDataFields(1).Parent

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

MappedDataFields.Count

Gibt einen Wert vom Typ Long zurück, der die Anzahl der zugeordneten Datenfelder in der Auflistung darstellt.

Dim lngCount As Long
lngCount = ActiveDocument.MailMerge.DataSource.MappedDataFields.Count

MappedDataFields.Item

Gibt ein einzelnes MappedDataField -Objekt zurück.

Syntax : expression.Item (Index)

Index: Das angegebene zugeordnete Datenfeld.

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

MappedDataFields.Parent

Gibt einen Wert vom Typ Object zurück, der das übergeordnete Objekt des angegebenen MappedDataFields-Objekts darstellt.

Dim objParent As Object
Set objParent = ActiveDocument.MailMerge.DataSource.MappedDataFields.Parent