Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Word2000: Wie Kopfzeile erstellen?

  Alt 16. Feb 2006, 19:12
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat