Hallo
Delphi-Quellcode:
procedure TForm1.Button15Click(Sender: TObject);
Var _DefaultTableBehavior:olevariant;
_AutoFitBehavior:olevariant;
_RulerStyle:olevariant;
_unit:olevariant;
begin
//Bsp mit Serverkompos
//autoconnect von Wordapp+Doc auf false
WordApplication1.Connect;
try
WordApplication1.Visible:=true;
//neues Worddoc
WordDocument1.ConnectTo(WordApplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam));
//in Kopzeile wechseln
WordApplication1.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
//3-spaltige Tabelle erstellen
_DefaultTableBehavior:=wdWord9TableBehavior;
_AutoFitBehavior:= wdAutoFitFixed;
WordDocument1.Tables.Add(WordApplication1.Selection.Range,1,3,_DefaultTableBehavior,_AutoFitBehavior);
//Formatieren (keine Rahmen)
With WordApplication1.Selection.Tables.Item(1) do
begin
Borders.Item(wdBorderLeft).LineStyle := wdLineStyleNone;
Borders.item(wdBorderRight).LineStyle := wdLineStyleNone;
Borders.item(wdBorderTop).LineStyle := wdLineStyleNone;
Borders.item(wdBorderBottom).LineStyle := wdLineStyleSingle;
Borders.item(wdBorderVertical).LineStyle := wdLineStyleNone;
Borders.item(wdBorderDiagonalDown).LineStyle := wdLineStyleNone;
Borders.item(wdBorderDiagonalUp).LineStyle := wdLineStyleNone;
Borders.Shadow := False
End;
//1. Spalte kleiner machen
_RulerStyle:=wdAdjustNone;
WordApplication1.Selection.Tables.item(1).Columns.Item(1).SetWidth(WordApplication1.CentimetersToPoints(3), _RulerStyle);
//Text ausgeben
WordApplication1.Selection.TypeText('Spalte1');
_unit:=wdCell;
WordApplication1.Selection.MoveRight(_unit,EmptyParam,EmptyParam);
WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
WordApplication1.Selection.TypeText('Spalte2'+chr(vk_return)+'zentriert');
WordApplication1.Selection.MoveRight(_unit,EmptyParam,EmptyParam);
WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight;
WordApplication1.Selection.TypeText('Spalte3 (rechts)');
//wieder zum Hauptdok
WordApplication1.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument;
//Text ausgebebn
WordApplication1.Selection.TypeText('Fertig');
finally
WordDocument1.Disconnect;
WordApplication1.Disconnect;
end;
end;
Die Tabelle ist nur Beispielhaft, prinzipiell kannst du den text gleich direkt mit typetext reinschreiben, "3" spalten sind durch die Tabstops links, zentriert und rechts schon vorgegeben.
Mfg Frank