procedure WordOLE();
var
VarFileName,Background, Append, Range, SaveChs: OleVariant;
Position,Leader,Alignment, Seitenumbruch: OLEVariant;
vParam, vBookmark, vWhat: OLEVariant;
cDoc:
string;
i: integer;
begin
MainForm.WordApplication1.Connect;
MainForm.WordApplication1.Visible := true;
//neues Dokument öffen
MainForm.WordApplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
MainForm.WordDocument1.ConnectTo(MainForm.WordApplication1.ActiveDocument);
{
oder vorhandenes Document öffen:
//Pfad muss in OLE-Variant umgewandelt werden
cDoc := BriefPfad + BriefName; vParam := cDoc;
MainForm.WordApplication1.Documents.Open(vParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
}
Background:=false; Append:=false; Range:=wdPrintAllPages;
With MainForm.WordApplication1.Selection
do begin
Alignment:= wdAlignTabLeft;
Leader:=wdTabLeaderSpaces;
PageSetup.Orientation := wdOrientPortrait;
{***** Seitenränder einrichten *****}
PageSetup.TopMargin := 42;
// = 29; 0,035 * 29 = 1,015 cm 0,035 * 42 = 1,48 cm
PageSetup.BottomMargin := 42;
PageSetup.LeftMargin := 42;
// = 42;
PageSetup.RightMargin := 42;
PageSetup.HeaderDistance := 0;
PageSetup.FooterDistance := 0;
{***** Tabulatoren einrichten *****}
ParagraphFormat.TabStops.ClearAll;
Position := 60; ParagraphFormat.Tabstops.Add(Position, Alignment, Leader);
Position := 170; ParagraphFormat.Tabstops.Add(Position, Alignment, Leader);
Position := 250; ParagraphFormat.Tabstops.Add(Position, Alignment, Leader);
Position := 315; ParagraphFormat.Tabstops.Add(Position, Alignment, Leader);
Position := 390; ParagraphFormat.Tabstops.Add(Position, Alignment, Leader);
Font.
Name:='
Arial';
Font.Bold:=integer(True);
Font.Size :=11; TypeText('
Dies ist ein Beispieltext in FETTDRUCK' + #13);
Font.Bold:=integer(False);
Font.Size :=9; TypeText('
Schriftart 9' + #13 + #13);
{***** Linie zeichnen an aktuellen Zeilenposition *****}
i := Information[wdVerticalPositionRelativeToPage];
// i enthält jetzt die aktuelle zum Programmierzeitpunkt unbekannte Cursors-Position
MainForm.WordApplication1.ActiveDocument.Shapes.AddLine(50, i, 550, i, EmptyParam);
TypeText('
weiterer Text' + #13);
TypeText('
weiterer Text' + #13);
TypeText('
weiterer Text' + #13);
{***** Seitenumbruch *****}
Seitenumbruch := wdPageBreak;
//Weitere Optionen: wdColumnBreak wdSectionBreakNextPage wdSectionBreakContinuous
InsertBreak(Seitenumbruch);
//Absatz fortlaufend einfügen
Font.
Name:='
Arial'; Font.Size:=14; Font.Bold:=integer(True);
TypeText(#13 + '
Zugänge der Inneren Abteilung' + #13); Font.Bold:=integer(False);
{***** zu Textmarke springen *****}
vBookmark:='
Name der Textmarke'; vWhat:=wdGotoBookmark;
GoTo_(vWhat,EmptyParam,EmptyParam,vBookmark);
end;
//With WordApplication1.Selection
//MainForm.WordDocument1.PrintOut(Background, Append, Range);
//SaveChs := wdDoNotSaveChanges;
//MainForm.WordApplication1.ActiveDocument.Close(SaveChs, EmptyParam, EmptyParam);
MainForm.WordDocument1.Disconnect;
MainForm.WordApplication1.Disconnect;
end;