Wie findet man mehrere Einträge mit FindParagraph

  • Ich habe in einer Tabelle mehrere Zellen mit dem Namen 'Artikelnummer'

    Jetzt habe ich versucht:

    Code
      WPRichTextArbeit.CPPosition := 0;
      zelle := WPRichTextArbeit.FindParagraph('Artikelnummer');
      WPRichTextArbeit.ActiveParagraph := zelle;
      //Cursor weitersetzen
      WPRichTextArbeit.CPPosition := WPRichTextArbeit.CPPosition + 5;
      zelle := WPRichTextArbeit.FindParagraph('Artikelnummer');
      WPRichTextArbeit.ActiveParagraph := zelle;

    Leider finde ich das folgende Auftreten nicht, es wird beim zweiten Versuch wieder das erste gefunden!

    Gibt es einen Trick?

    Ciao

    Stefan

    • Offizieller Beitrag

    Hallo,

    TWPRichText.FindParagraph arbeitet komplett unabhängig von der cursor position.

    Um mehrere Absätze der Reihe nach abhängig von ihrem jeweiligen Namen zu bearbeiten oder auszulesen geht man so vor:

    Code
      par :=  WPRichText1.BodyText.FirstPar;
      while par<>nil do
      begin
        if par.Name='ARTIKEL' then ....
        par := par.Next;
      end;

    Wenn man auch in Header und Footer sowie TextBoxen suchen will

    Code
    par :=  WPRichText1.RTFData.FirstPar;
      while par<>nil do
      begin
        if par.Name='ARTIKEL' then ....
        par := par.GlobalNext;
      end;

    Grüsse,

    Julian ZIersch