Hallo,
WPTOols 5.211 unter Delphi 2006.
Ich möchte ein MergeField programmatisch in den Header eintragen. Dies mache ich so:
Code
Paragraph := WP.HeaderFooter.Get(wpHeader, wpraOnAllPages).FirstPar; WP.WritingAttr.Clear; CharAttr := WP.WritingAttr.CharAttr; Paragraph.ClearText; Paragraph.ASet(WPAT_Alignment, Integer(paralLeft)); Paragraph.Insert(0, 'Berichtsnummer: ', CharAttr); MergeField := Paragraph.InsertNewObject(MaxInt, wpobjMergeField, False, False, CharAttr); MergeField.Name := 'Nr';
Später möchte ich das MergeField mit folgenden Aufruf füllen:
Die Ereignisbehandlungsroutine:
Code
procedure TFrmEditor.WPMailMergeGetText(Sender: TObject; const inspname: string;
Contents: TWPMMInsertTextContents);
begin
if SameText(inspname, 'Nr')
then Contents.StringValue := 'was_auch_immer';
end;
Leider erscheint das MergeField nach dem Einfügen nicht oder zumindest ohne Text im Header. Auch der o.g. Aufruf von MergeText füllt das MergeField nicht.
MergeFields die ich im Body mittels WP.InputMergeField('Nr', 'Nr') einfüge werden demgegenüber korrekt gefüllt.
Ich nehme an, dass es mir mit o.g. Code nicht gelingt, den FieldName und den DisplayName des MergeFields korrekt zu setzen. Oder ist es ein anderes Problem?
Was mache ich falsch?
Vielen Dank für Ihre Hilfe
Mathias Gerlach