AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

word Template

Ein Thema von Christophe · begonnen am 11. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#1

word Template

  Alt 11. Okt 2006, 12:54
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:
...
    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);
...
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.
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#2

Re: word Template

  Alt 17. Okt 2006, 12:52
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:
...
    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;
...
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.

Danke

Christophe
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#3

Re: word Template

  Alt 17. Okt 2006, 12:59
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);
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz