Autor Beitrag
rolandt4088
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

WINDOWS XP
Delphi 7, CodeGear RAD Studio
BeitragVerfasst: Do 21.06.07 00:25 
Hallo,

nach dem ich lange an eine Lösung für das Erstellen und Formatieren einer Tabelle gebastelt habe, möchte ich den Sourcecode für alle Suchenden bereit stellen. Diese Tabelle wird über eine Delphi - Anwendung erzeugt. Die einzelnen Schritte sind im SOurce-Code kommentiert.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
procedure TForm1.Button1Click(Sender: TObject);
var WordTabelle: OleVariant; //Name der Tabelle die erzeugt werden soll
    FileName, doc :OleVariant; //Schnittstellenvariable
begin
  //Name des zu öffnenden Dokumentes
  FileName := 'C:\bestellung.doc';
  //Verbindung zu Word aktivieren
  WordApplication1.Connect;
  //Dokument öffnen
  WordApplication1.Documents.OpenOld(FileName, EmptyParam, EmptyParam,
                                     EmptyParam, EmptyParam, EmptyParam,
                                     EmptyParam, EmptyParam, EmptyParam,
                                     EmptyParam);
  //Verbindung zum aktiven Dokument
  WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
  //Word sichtbar machen
  WordApplication1.Visible := True;
  //Übergabe des aktiven Dokumentsin die Variable doc
  doc := WordApplication1.ActiveDocument;
  //Tabelle erzeugen  mit 5 Zeilen und 5 Spalten
  WordTabelle := doc.Tables.Add(WordApplication1.selection.range, 55,
                 emptyParam,emptyParam) ;
  //Keine Rahmen: links, rechts, oben, unten
  WordTabelle.borders.item(wdBorderLeft).LineStyle := wdLineStyleNone;
  WordTabelle.Borders.item(wdBorderRight).LineStyle := wdLineStyleNone;
  WordTabelle.Borders.item(wdBorderTop).LineStyle := wdLineStyleNone;
  WordTabelle.Borders.item(wdBorderBottom).LineStyle := wdLineStyleNone;

  //!!!!!!!!!!!Der Index einer Tabelle in Word beginnt immer mit 1,
  //nicht mit 0 wie in Delphi!!!!!!!!!!!!!!!!!!!!!!!

  //Schriftgröße in der 2. Zeile und 2. Spalte auf 14 setzen
  WordTabelle.cell(2,2).range.font.size := 14;
  //Schriftgrad in der 2. Zeile und 2.Spalte aud Fett setzen
  WordTabelle.cell(2,2).range.font.bold := true;
  //Textübergabe in die 2. Zeile und 2. Spalte
  WordTabelle.cell(2,2).range.text := 'Hallo Welt';
end;

Viel Spass
Roland

Moderiert von user profile iconChristian S.: Topic aus Delphi Tutorials verschoben am Do 21.06.2007 um 18:31