![]() |
word Template
Aloha zusammen
Mal wieder ne frage. Ich habe Word Templates (in htm gespeichert). diese sind mit keyWords bestückt z.B. @datum@ dies soll nun ersetzt werden durch das Datum. Nun habe ich eine schlaufe gebaut und innerhalb dieser schlaufe den code:
Delphi-Quellcode:
Das funktioniert nicht schlecht alle seiten werden eingebunden aber nur die erste wird mit dem Datum bestückt. Nun meine Frage wie bekomme ich es hin das ich jede einzelne seite im gleichen doc mit einem individuellen datensatz ersetzen kann? So wie ich es in dem Code geschrieben habe werden nur die platzhalter der erste seite ersetzt.
...
if x = 1 then word.Documents.Add('\\server\verwaltung\wordvorlagen\i_'+sprache+'.htm', EmptyParam) else word.Selection.InsertFile('\\server\verwaltung\wordvorlagen\i_'+sprache+'.htm'); vAlt := '@RDATUM@'; vNeu := DateToStr(DateTimePicker1.Date); word.Selection.Find.Text := vAlt; word.Selection.Find.Replacement.Text := vNeu; word.Selection.Find.MatchWholeWord := True; word.Selection.Find.Execute(Replace := wdReplaceOne); word.Selection.EndKey(Unit:=wdStory); word.Selection.InsertBreak(wdPageBreak); ... |
Re: word Template
hallo zusammen
ich bin zwar weitergekommen mit meiner Template Geschichte aber was ich nicht hinbekomme ist das ich nicht mehrere wörter nacheinander ersetzen kann. Mein Beispiel code:
Delphi-Quellcode:
Das ganze ist in einer while schlaufe die, die Templates aufrufen und den platzhalter Text ersetzen sollten. Mit dem ersten Replace funktioniert dies auch wunderbar aber der zweite wird nicht ersetzt. Ich hoffe es weis jemand an was das liegen kann.
...
word.Selection.Find.ClearFormatting; word.Selection.Find.Text := '@RDATUM@'; word.Selection.Find.Replacement.Text := DateToStr(DateTimePicker1.Date); word.Selection.Find.Forward := True; word.Selection.Find.Wrap := wdFindContinue; word.Selection.Find.MatchWholeWord := True; word.Selection.Find.Format := False; //word.Selection.Find.MatchCase := wrfMatchCase in Flags; word.Selection.Find.MatchSoundsLike := False; word.Selection.Find.MatchAllWordForms := False; word.Selection.Find.Execute(Replace := wdReplaceOne); word.Selection.Find.ClearFormatting; word.Selection.Find.Text := '@RECHNR@'; word.Selection.Find.Replacement.Text := 'test'; word.Selection.Find.Forward := True; word.Selection.Find.Wrap := wdFindContinue; word.Selection.Find.MatchWholeWord := True; word.Selection.Find.Format := False; //word.Selection.Find.MatchCase := wrfMatchCase in Flags; word.Selection.Find.MatchSoundsLike := False; word.Selection.Find.MatchAllWordForms := False; ... Danke Christophe |
Re: word Template
Hat sich erledigt ... sorry
der richtige code:
Delphi-Quellcode:
word.Selection.Find.ClearFormatting;
word.Selection.Find.Text := '@RDATUM@'; word.Selection.Find.Replacement.Text := DateToStr(DateTimePicker1.Date); word.Selection.Find.Forward := True; word.Selection.Find.Wrap := wdFindContinue; word.Selection.Find.MatchWholeWord := True; word.Selection.Find.Format := False; word.Selection.Find.MatchSoundsLike := False; word.Selection.Find.MatchAllWordForms := False; word.Selection.Find.Execute(Replace := wdReplaceOne); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz