![]() |
Word2000: Wie Kopfzeile erstellen?
Wie kann ich aus Delphi heraus in Word eine Kopfzeile mit 3 Spalten erstellen? Ich habe bereits mit viel Mühe Word soweit unter Kontrolle, dass ich einige Seiten mit variablen Tabelleninhalten erstellen kann. Aber nun muss ich auch an die Kopfzeile. Aber wie? Irgendwie muss ich den Cursor doch dahinbekommen und dann den Text einfach einfügen.
|
Re: Word2000: Wie Kopfzeile erstellen?
Hallo
Delphi-Quellcode:
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.
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; Mfg Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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