...automate Word with OLE?
Author: Simon Grossenbacher
uses
comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
Word: OLEVariant;
begin
try
Word := CreateOleObject('Word.Application');
except
ShowMessage('Cannot start Word !');
Exit;
end;
// Show Word
Word.Visible := True;
// Add a new Document
Word.Documents.Add;
if Word.ActiveWindow.View.SplitSpecial <> 0 then
Word.ActiveWindow.Panes[2].Close;
if (Word.ActiveWindow.ActivePane.View.type = 1) or
(Word.ActiveWindow.ActivePane.View.type = 2) or
(Word.ActiveWindow.ActivePane.View.type = 5) then
Word.ActiveWindow.ActivePane.View.type := 3;
Word.ActiveWindow.ActivePane.View.SeekView := 9;
Word.Selection.Font.Name := 'Times New Roman';
Word.Selection.Font.Size := 12;
Word.Selection.Font.Bold := True;
Word.Selection.ParagraphFormat.Alignment := 1;
Word.Selection.TypeText(Text :=
'Kohlenhandel Brikett-GmbH & Co.-KG. - Holzweg 16 - 54633 Steinhausen');
if Word.Selection.HeaderFooter.IsHeader = True then
Word.ActiveWindow.ActivePane.View.SeekView := 10
else
Word.ActiveWindow.ActivePane.View.SeekView := 9;
Word.Selection.TypeText(Text :=
'Bankverbindung: Stadtsparkasse Steinhausen BLZ 123456789 KtoNr. 782972393243');
Word.ActiveWindow.ActivePane.View.SeekView := 0;
Word.Selection.TypeText(Text := Edit2.Text + ' ' + edit1.Text);
Word.Selection.TypeParagraph;
Word.Selection.TypeText(Text := edit3.Text);
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.Font.Name := 'Times New Roman';
Word.Selection.Font.Size := 12;
Word.Selection.Font.Bold := True;
Word.Selection.TypeText(Text := edit4.Text + ' ' + edit5.Text);
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.Font.Name := 'Arial';
Word.Selection.Font.Size := 14;
Word.Selection.Font.Bold := True;
Word.Selection.TypeText(Text := Combobox1.Text);
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.TypeParagraph;
Word.Selection.Font.Name := 'Times New Roman';
Word.Selection.Font.Size := 12;
Word.Selection.Font.Bold := True;
if radiogroup1.ItemIndex = 0 then
Word.Selection.TypeText(Text := 'Sehr geehrter Herr ' + edit1.Text)
else
Word.Selection.TypeText(Text := 'Sehr geehrte Frau ' + edit1.Text);
end;
printed from
www.swissdelphicenter.ch
developers knowledge base