Работа с MSWord'ом из проги на Delphi
Даже не знаю как подступится к этому... Подскажите кто-нибудь.
на вкладке Servers есть несколько компонентов (TWordApplication, TWordLetterContent)....
Цитата:
Если надо именно показать диалог, заполнив у него поле (а не именно добавить конверт в документ), то так:
Код:
procedure TMainForm.Button1Click(Sender: TObject);
var
WordApp: _Application;
Dlg: Dialog;
begin
WordApp := CoWordApplication.Create;
WordApp.Documents.AddOld(EmptyParam, EmptyParam);
WordApp.Visible := True;
Dlg := WordApp.Dialogs.Item(wdDialogToolsCreateEnvelope);
OleVariant(Dlg).AddrText := 'Москва'#13'Кремль'#13'Путину В.В.';
Dlg.Show(EmptyParam);
end;
Свойство Dialogs у WordApplication содержит все стандартные (или не все?) диалоги Word'а.
Чтобы установить у диалога свойство, специфичное для конкретного типа диалога, доступ к объекту нужно вести через значение типа Variant (а не через значение типа Dialog). Список всех свойств, специфичных для конкретного типа диалога, можно посмотреть в help'е по MS Word VBA в разделе "Built-in Dialog Box Argument Lists".
Если надо просто добавить конверт (если все его параметры известны, и ничего у пользователя спрашивать не надо), то можно так:
Код:
WordApp.ActiveDocument.Envelope.Insert({куча полезных и не очень параметров})
Короче, в любом случае, будет Вам шастье!!!
Код:
procedure TMainForm.Button1Click(Sender: TObject);
var
WordApp: _Application;
Dlg: Dialog;
begin
WordApp := CoWordApplication.Create;
WordApp.Documents.AddOld(EmptyParam, EmptyParam);
WordApp.Visible := True;
Dlg := WordApp.Dialogs.Item(wdDialogToolsCreateEnvelope);
OleVariant(Dlg).AddrText := 'Москва'#13'Кремль'#13'Путину В.В.';
Dlg.Show(EmptyParam);
end;
Свойство Dialogs у WordApplication содержит все стандартные (или не все?) диалоги Word'а.
Чтобы установить у диалога свойство, специфичное для конкретного типа диалога, доступ к объекту нужно вести через значение типа Variant (а не через значение типа Dialog). Список всех свойств, специфичных для конкретного типа диалога, можно посмотреть в help'е по MS Word VBA в разделе "Built-in Dialog Box Argument Lists".
Если надо просто добавить конверт (если все его параметры известны, и ничего у пользователя спрашивать не надо), то можно так:
Код:
WordApp.ActiveDocument.Envelope.Insert({куча полезных и не очень параметров})
Короче, в любом случае, будет Вам шастье!!!