Теперь документ открывается, но осталась одна проблема: Открывается окно с расположением файла и требуется нажатие кнопки "Открыть". Как сделать так, чтобы автоматически пропускать эту процедуру? Чтобы после нажатия Button1 Сразу открылся Word?
Код | unit Unit8; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm8 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form8: TForm8; implementation {$R *.dfm} uses ComObj; procedure TForm8.Button1Click(Sender: TObject); var wdApp, wdDocs, wdDoc : Variant; S : String; Od : TOpenDialog; begin Od := OpenDialog1; if Od.InitialDir = '' then Od.InitialDir := ExtractFilePath('C:\Users\1\Desktop\WWW.docx'); if not Od.Execute then Exit; if not FileExists(Od.FileName) then begin ShowMessage( 'Файл с именем:'#10 + Od.FileName + #10 + 'Не найден. Действие отменено.' ); Exit; end; try wdApp := CreateOleObject('Word.Application'); except ShowMessage('Не удалось запустить MS Word. Действие отменено.'); Exit; end; try //Делаем видимым окно MS Word. wdApp.Visible := True; //Ссылка на коллекцию документов. wdDocs := wdApp.Documents; //Попытка открыть выбранный файл. wdDoc := wdDocs.Open(FileName:=Od.FileName); //Создание нового документа. Если параметр Template:='...' не задан, //то новый документ создаётся по шаблону Normal.Dot. //wdDoc := wdDocs.Add; //Добавляем пустую строку в конец документа. wdDoc.Range.InsertAfter(#10); //Добавляем текст в конец документа. S := Memo1.Text; wdDoc.Range.InsertAfter(S); //Сохранение документа. //wdDoc.Save; //Закрываем MS Word. //wdApp.Quit; finally wdApp := Unassigned; wdDocs := Unassigned; wdDoc := Unassigned; end; end; end.
|
|