Hallochen,
Ich habe eine Serienbrief- Worddatei. Dieser möchte ich programmtechnisch mit Daten füllen und ausdrucken (ein Brief per Knopfdruck). Dafür suche ich nach den MERGEFIELDs und schreibe an diesen Stellen den benötigten Text. Nun habe ich hier ein Problem. Es werden nicht alle Felder in meinem Dokument gefunden
(siehe auch die beigefügten Bilder)
So gehe ich vor :
Bei mir werden es immer nur 3 Felder gefunden, es gibt aber noch 5 andere in dem Dokument. Diese sind innerhalb eines Positionsrahmens.
Was muss man machen, damit die MERGEFIELDer im Positionsrahmen auch gefunden werden? Wie geht man am besten vor, damit man die Felder überall findet? Egal wo sie sich im Dokument befinden.
Ich füge auch screenshots dazu, damit es noch mehr klar wird, was ich meine und brauche. (siehe unten)
Ich habe eine Serienbrief- Worddatei. Dieser möchte ich programmtechnisch mit Daten füllen und ausdrucken (ein Brief per Knopfdruck). Dafür suche ich nach den MERGEFIELDs und schreibe an diesen Stellen den benötigten Text. Nun habe ich hier ein Problem. Es werden nicht alle Felder in meinem Dokument gefunden

So gehe ich vor :
Code:
object missing = System.Reflection.Missing.Value;
//Setup the Word.Application class.
Word.Application wordApp = new Word.ApplicationClass();
//Setup our Word.Document class we'll use.
Word.Document aDoc = null;
//Set Word to be not visible
wordApp.Visible = false;
aDoc = wordApp.Documents.Open(ref fileName, ref missing,
ref readOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref isVisible, ref missing, ref missing,
ref missing, ref missing);
foreach (Word.MailMergeField mmf in aDoc.MailMerge.Fields)
{
if (mmf.Type == Microsoft.Office.Interop.Word.WdFieldType.wdFieldMergeField)
{
string dataFieldName = mmf.Code.Text.Trim();
mmf.Select();
wordApp.Selection.TypeText("klappt"); //<-- hier benötigten Text eingeben
}
}
//Print the document
aDoc.PrintOut(ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
//Close the document - you have to do this.
aDoc.Close(ref missing, ref missing, ref missing);
Bei mir werden es immer nur 3 Felder gefunden, es gibt aber noch 5 andere in dem Dokument. Diese sind innerhalb eines Positionsrahmens.
Was muss man machen, damit die MERGEFIELDer im Positionsrahmen auch gefunden werden? Wie geht man am besten vor, damit man die Felder überall findet? Egal wo sie sich im Dokument befinden.
Ich füge auch screenshots dazu, damit es noch mehr klar wird, was ich meine und brauche. (siehe unten)
Anhänge
Zuletzt bearbeitet: