Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bestimmte Stringgridzeilen farbig in Worddokument einfüg. (https://www.delphipraxis.net/128267-bestimmte-stringgridzeilen-farbig-worddokument-einfueg.html)

capo 27. Jan 2009 08:54


Bestimmte Stringgridzeilen farbig in Worddokument einfüg.
 
Hallo,

ich übertrage die Tabellen eines Stringgrids in die Tabellen eines Word-Dokument.
Nun gibt es in dem Stringrid Zeilen die Bestimmte Sätze enthalten die farbig im Word-Dokument dargestellt werden sollen.
So übergebe ich den Inhalt des Stringgrids so:
Delphi-Quellcode:
WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid.Cells[jGridCols - 1, igridRows - 1];
Ich wollte mit Copy und Pos arbeiten, bekomme es aber nicht gebacken.
Einer der Sätze um die es geht sieht z.B. so aus:
User B. Seine Aussprache ist nicht immer gleich gut zu verstehen.

Im Worddokument soll der Satz "Seine Aussprache ist nicht immer gleich gut zu verstehen." in rot zu sehen sein.

Es sind einige Sätze die auf diese Weise abgearbeitet werden müssen.
Wenn ich weiß wie es mit einem funktioniert bekomme ich es mit den anderen bestimmt hin.

Es wäre suuuuuupernett von euch wenn ihr mir dabei helfen könntet.

Capo

mkinzler 27. Jan 2009 09:12

Re: Stringgrid in verschiedenen Zeilen bestimmte Bereiche fa
 
Und womit hast du genau deine Probleme?

himitsu 27. Jan 2009 09:18

Re: Stringgrid in verschiedenen Zeilen bestimmte Bereiche fa
 
und vorallem der Titel "Stringgrid in verschiedenen Zeilen bestimmte Bereiche farbig"

ich denk du hast irgendwelche Probleme mit Wörd und nicht mit dem StringGrid :gruebel:

bzw. was ist WordTable?

capo 27. Jan 2009 09:34

Re: Bestimmte Stringgridzeilen farbig in Worddokument einfüg
 
Zitat:

Zitat von mkinzler
Und womit hast du genau deine Probleme?

Hallo, ich habe Probleme damit diesen Satz:
User B. Seine Aussprache ist nicht immer gleich gut zu verstehen.
hier herauszufiltern:
Delphi-Quellcode:
WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid.Cells[jGridCols - 1, igridRows - 1];


Zitat:

Zitat von himitsu
und vorallem der Titel "Stringgrid in verschiedenen Zeilen bestimmte Bereiche farbig"

ich denk du hast irgendwelche Probleme mit Wörd und nicht mit dem StringGrid :gruebel:

bzw. was ist WordTable?

Stimmt der Titel ist nicht so besonders, habe ihn geändert.
WordTable ist
Delphi-Quellcode:
WordTable: OLEVariant;
Damit erzeuge ich z.B.diese Tabelle
Delphi-Quellcode:
WordTable.Columns.Item(1).SetWidth(40, 0);
WordTable.Columns.Item(2).SetWidth(420, 0);
WordTable.Borders.OutsideLineStyle := wdLineStyleSingle;
WordTable.Borders.InsideLineStyle := wdLineStyleSingle;

capo 27. Jan 2009 12:17

Re: Bestimmte Stringgridzeilen farbig in Worddokument einfüg
 
Ich dachte mir, dass es sowas in der Richtung sein muss:

Delphi-Quellcode:
    for p := Pos('Seine', StringGrid2.Cells[jGridCols - 1, igridRows - 1]) to
        Length(StringGrid2.Cells[jGridCols - 1, igridRows - 1]) do
           if StringGrid2.Cells[jGridCols - 1, igridRows - 1] <> 'verstehen.' then
          sz := sz + StringGrid2.Cells[jGridCols - 1, igridRows - 1];
       showmessage(zz);
Komme aber zu keinem vernünftigen Ergebniss.

Gruss vom Capo

capo 27. Jan 2009 21:11

Re: Bestimmte Stringgridzeilen farbig in Worddokument einfüg
 
Hallo,
ich muss wirklich wissen was ich falsch mache, es ist verdammt dringend.

Gruss vom Capo

capo 28. Jan 2009 08:30

Re: Bestimmte Stringgridzeilen farbig in Worddokument einfüg
 
Hilfe!

capo 28. Jan 2009 11:33

Re: Bestimmte Stringgridzeilen farbig in Worddokument einfüg
 
Also ich habs doch herausgefunden.
Delphi-Quellcode:
Function zeichenkette(link:string):String;
begin
  link:=copy(link,pos('Seine',link),length(link));
  link:=copy(link,1,pos('.',link)-1);
  result := link;
end;
Bekomme aber die Formatierung nicht hier herein (also in die Tabelle des Worddokuments):
Delphi-Quellcode:
 s1 := zeichenkette(StringGrid2.Cells[jGridCols - 1, igridRows - 1]);
          if S1 = 'Seine Aussprache ist nicht immer gleich gut zu verstehen. ' then
            WordApp.Selection.TypeText(Text := S1);
          WordApp.Selection.Font.Name := 'Times New Roman';
          WordApp.Selection.Font.Size := 12;
          WordApp.Selection.Font.Bold := true;

          WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid2.Cells[jGridCols - 1, igridRows - 1];

[EDIT]HABE MEINE FRAGE SEHR SCHLECHT FORMULIERT, DESHALB HABE ICH EIN NEUES TEHMA ANGEFANGEN,


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 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