![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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'); |
| Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
alex_rR (20.05.2012)
| ||