Stapel, der mehrere Seriendruckfelder einfügt

837
Dekks

Ich habe ein Seriendruckdokument, das mit einer Excel-Datei mit etwa 200 Spalten und einigen hundert Zeilen verbunden ist. Ich muss mein Seriendruckdokument so einrichten, dass es wie folgt aussieht:

[code] [type] [amount] [code1] [type1] [amount1] [code2] [type2] [amount2] 

usw. bis zur 200. Wiederholung des Feldes. Ohne auf alle Details einzugehen, warum ich das brauche, ist dies ein sehr schmutziger und schneller Weg, um die gewünschten Daten zusammenzuführen, und schließlich wird ein eleganterer Weg gefunden.

Meine Frage ist, wie kann ich die Felder schnell einfügen, ohne das Einfügefeld mehrmals wörtlich auszuwählen? Im Idealfall würde ich ihm einfach eine Liste der Felder geben und sie alle einfügen lassen, dh die drei Spalten in Excel mit den Feldnamen einrichten und diese dann in Word kopieren und einfügen, außer Word erkennt sie nicht als tatsächliche Felder. und wird << text >> als reinen Text und nicht als tatsächliches Feld sehen.

0
Sie öffnen also buchstäblich ein leeres Dokument, fügen dann diese drei Codes in drei Spalten ein und wiederholen diese Referenz 200-mal? BruceWayne vor 7 Jahren 0

1 Antwort auf die Frage

0
BruceWayne

How does this work? It's a macro, so add this to a Module in your document.

Sub add_hundreds_of_refs() Dim myDoc As Document Set myDoc = ActiveDocument Dim i As Long With myDoc .MailMerge.Fields.Add Range:=Selection.Range, Name:="Code" .MailMerge.Fields.Add Range:=Selection.Range, Name:="Type" .MailMerge.Fields.Add Range:=Selection.Range, Name:="Amount" Selection.TypeParagraph For i = 1 To 200 .MailMerge.Fields.Add Range:=Selection.Range, Name:="Code" & i .MailMerge.Fields.Add Range:=Selection.Range, Name:="Type" & i .MailMerge.Fields.Add Range:=Selection.Range, Name:="Amount" & i Selection.TypeParagraph Next i End With End Sub 

enter image description here

Genau das, wonach ich gesucht habe, danke! Ich bin mit VBA in Excel vertraut, hatte jedoch Schwierigkeiten, viel Dokumentation darüber zu finden, was die Word-Befehle in VBA waren, um dies zu tun. Dekks vor 7 Jahren 0