// Es wird Winword geöffnet, ein leeres Dokument erstellt, darin eine Tabelle
// mit 3 Spalten und 5 Zeilen erzeugt, mehrere Werte eingetragen, die zweite
// Spalte addiert und zum Schluß wird das Dokument gespeichert.

// Getestet mit D4 unter WinME

uses 
  ComObj; 
 
var 
  Word1, Dokument1, Tabelle1: Variant; 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  Zeilen, Spalten: integer; 
  Gitterlinien, SpaltenbreiteOptimieren: boolean; 
  wert1, wert2: double; 
  x: integer; 
begin 
  Zeilen := 5; 
  Spalten := 3; 
  Gitterlinien := true; 
  SpaltenbreiteOptimieren := false; 
  wert1 := 123.4; 
  wert2 := 0.9; 
  Word1 := CreateOleObject('Word.Application'); 
  Word1.Visible := true; 
  Dokument1 := Word1.Documents.Add; 
  Tabelle1 := Dokument1.Tables.Add(Word1.Selection.Range, Zeilen, 
    Spalten, ord(Gitterlinien), ord(SpaltenbreiteOptimieren)); 
  for x := 1 to 5 do begin 
    Tabelle1.Cell(x, 2).Select; 
    Word1.Selection.ParagraphFormat.Alignment := 2; 
    if x = 5 then Word1.Selection.Font.Bold := True; 
  end; 
  Tabelle1.Cell(1, 1).Range.Text := 'Erste Zelle'; 
  Tabelle1.Cell(1, 2).Range.Text := 33.5; 
  Tabelle1.Cell(2, 2).Range.Text := wert1; 
  Tabelle1.Cell(3, 2).Range.Text := 10.5; 
  Tabelle1.Cell(4, 2).Range.Text := wert2; 
  Tabelle1.Cell(5, 1).Range.Text := 'Summe:'; 
  Tabelle1.Cell(5, 2).AutoSum; 
  Tabelle1.Cell(Tabelle1.Rows.Count, Tabelle1.Columns.Count).Range.Text := 
    'Letzte Zelle'; 
  Dokument1.SaveAs('C:\test.doc'); 
end; 
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  try 
    if not VarIsEmpty(Word1) then Word1.Quit; 
  except 
  end; 
end;



Zugriffe seit 6.9.2001 auf Delphi-Ecke