![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при сохранении вордовского документа [D7, WinXP]
rtm © (2007-09-20 10:32:00)Листинг:
_________________________________________
procedure TForm72.FormShow(Sender: TObject);
var
FileName:string;
WordApp:Variant;
WordDoc:Variant;
ch,ch2:real;
begin
FileName:='c:\ARADD.DBedit1.Text+'.doc';
try
WordApp:=GetActiveOleObject('Word.Application');
except
try
WordApp:=CreateOleObject('Word.Application');
except
Application.MessageBox('Внимание:',
'Microsoft Word не установлен.'
);
Exit;
end;
end;
try
//присваиваем переменные ch,ch2
if условие then
begin
WordDoc:=WordApp.Documents.Add(Template:='template.doc');
//блок условия
begin
if условие then
begin
процедура
end
else
if условие 2 then
begin
процедура 2
end
end;
end
else
if условие then
begin
процедура
begin
//блок условия
begin
if условие then
begin
процедура
end
else
if условие 2 then
begin
процедура 2
end
end;
end;
finally
WordApp.ActiveDocument.SaveAs(FileName);
WordApp:=UnAssigned;
end;
end;
______________________________________________
Проблема такая, после обработки программой всех цепочек на последней стадии finally вылетает ошибка, "Вызов отклонен" или "RPC не доступен" и доковский файл в указанную директорию конечно же не сохраняется.
В чем может быть проблема?
Спасибо.
lookin (2007-09-24 17:44:00) [1]Вместо
FileName:string;
...
WordApp.ActiveDocument.SaveAs(FileName);
попробуйте
AFileName:string;
...
WordApp.ActiveDocument.SaveAs(FileName:=AFileName);
тип string можно использовать, OleVariant тут не нужен...
Silver_Ghost (2007-09-23 22:44:00) [2]ой сам сглупил.
поправлюсь:
FileName:='c:\'+ARADD.DBedit1.Text+'.doc';
Это если я правильно понял, что ARADD.DBedit1.Text содержит имя файла.
Silver_Ghost (2007-09-23 22:42:00) [3]Господи боже,
а вот здесь:
FileName:='c:\ARADD.DBedit1.Text+'.doc';
случайно не так надо:
FileName:='c:\ARADD.DBedit1.Text'+'.doc';
фуке (2007-09-23 20:10:00) [4]1/FileName :OleVariant
2/или еще куча параметров после FileName
или
WordDocument1.SaveAs(FileName);
rtm (2007-09-20 11:49:00) [5]да нет это же кусок кода, просто я опустил описание блоков с условиями, все компилируется, просто именно при переходе к сохранения программа (уже откомпелированная!) выдает ошибку, о которой речь идет выше.
Anatoly Podgoretsky (2007-09-20 11:24:00) [6]> rtm (20.09.2007 10:32:00) [0]
Это не откомпилируется, поэтому об рантайм ошибках говорить не приходится