![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Вот, что я делаю. Выдает ошибку на последней строчке где save.
Код:
procedure TfrmMDIParent.N11Click(Sender: TObject); var MSWord: Variant; ext: String; begin with SaveDialog do if Execute then ext:=SaveDialog.FileName; try MsWord := GetActiveOleObject('Word.Application'); except try MsWord := CreateOleObject('Word.Application'); MsWord.Visible := True; except Exception.Create('Error'); end; end; MSWord.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam); //MSWord.ActiveDocument.Save(ext+'.doc'); end; |
#2
|
||||
|
||||
![]() А у меня проще
![]() Код:
procedure TForm1.OpenWordClick(Sender: TObject); var NameWordDoc: OleVariant; begin if SaveDialog.Execute then NameWordDoc := SaveDialog.FileName + '.doc'; if NameWordDoc <> '' then begin WordApp.Connect; WordApp.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam); WordDoc.ConnectTo(WordApp.ActiveDocument); WordDoc.SaveAs(NameWordDoc); WordApp.Visible := True; WordApp.Disconnect; end; end; P.S.: компоненты WordApp (WordApplication), WordDoc (WordDocument) с закладки Servers Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
Этот пользователь сказал Спасибо Kailon за это полезное сообщение: | ||
alex_rR (20.05.2012)
|
#3
|
|||
|
|||
![]() Если делать так
Код:
WordApp.Visible := True; Если false то сохраняет без зависания и проблем, а при попытке открыть документ ругается, но все равно открывает. Последний раз редактировалось alex_rR, 20.05.2012 в 09:31. |
#4
|
||||
|
||||
![]() На что ругается при открытии?
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#5
|
|||
|
|||
![]() не верно указана единица измерения
|
#6
|
||||
|
||||
![]() Вот твой же код все работает отлично. Коннектиться к открытому вордовскому документу и сохраняет его куда укажешь.
Код:
var MSWord: OleVariant; begin SaveDialog.Execute; try MsWord := GetActiveOleObject('Word.Application'); except try MsWord := CreateOleObject('Word.Application'); //мне кажется это здесь должно быть MSWord.Documents.Add(); //не надо ничего указывать MsWord.Visible := True; except Exception.Create('Error'); end; end; MSWord.ActiveDocument.SaveAs(SaveDialog.FileName+'.doc'); Google в помощь |
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
alex_rR (20.05.2012)
|