![]() |
![]() ![]() ![]() ![]() |
|
Автоматизация Word с OLEDelphi , Технологии , OLE Automation MSOfficeАвтоматизация Word с OLE
Оформил: DeeCo
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;
Пример автоматизации Microsoft Word с помощью OLE (Object Linking and Embedding) в Delphi. Код создает новый экземпляр приложения Word, добавляет новый документ и выполняет различные действия, такие как настройка свойств шрифта, вставка текста и форматирование абзацев. Вот разбивка того, что код делает:
Некоторые наблюдения:
Некоторые предложения:
В качестве альтернативных решений можно рассмотреть:
В целом, код довольно сложный и может быть улучшен рефакторингом и оптимизацией. Автоматизация Microsoft Word с использованием OLE (Object Linking and Embedding) позволяет создавать сложные приложения, взаимодействующие с документами Word. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: OLE Automation MSOffice ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||