Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

отработка закрытия файла   Найти похожие ветки 

 
lehich ©   (2004-03-30 18:06) [0]

имеем:
Shablon:=ExtractFilePath(Application.EXEName)+"shablon.DOC";
FileName:=ExtractFilePath(Application.EXEName)+"report.DOC";
производим замены в файле shablon с помощью Form1.WordDocument1.Range.Find.Execute
сохраняем документ под именем report.doc
Form1.WordDocument1.SaveAs(FileName);
Form1.WordDocument1.Close;

первый раз когда всё это вызывается проходит без проблем... но при повторном вызове этой конструкции за одну сессию работы программы выскакивает ошибка "невозможно присвоить документу имя уже открытого документа. измените имя сохраняемого документа. report.doc"...

почему так??? где ошибка???


 
panov ©   (2004-03-30 18:42) [1]

Ошибка в операторах, которые не приведены...


 
lehich ©   (2004-03-30 18:46) [2]

procedure addtoshablon;
var
//Объявление переменных, для передачи их в качестве формальных параметров в сервер автоматизации
 Shablon,FileName,oldStr,newStr,replace :OleVariant;
begin
 Shablon:=ExtractFilePath(Application.EXEName)+"shablon.DOC";
 FileName:=ExtractFilePath(Application.EXEName)+"report.DOC";
//Открываем шаблон документа
 Form1.WordApplication1.Documents.Open
 (Shablon,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
//Связываем компоненту с существующим интерфейсом
 Form1.WordDocument1.ConnectKind:=ckAttachToInterface;
 Form1.WordDocument1.ConnectTo(Form1.WordApplication1.ActiveDocument);
//Следующие переменные понадобятся нам для выполнения методов сервера
//добавление значения ИНН
 replace:=1;
 oldStr:="@1";
 newStr:= Form1.Label1.Caption;
//Находим в документе метки и производим их замены
 Form1.WordDocument1.Range.Find.Execute
 (oldStr,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,newStr,replace,EmptyParam,EmptyParam,EmptyParam,EmptyP aram);

//сохранение документа
 Form1.WordDocument1.SaveAs(FileName);
 Form1.WordDocument1.Close;
end;

вот собственно и всё!!!


 
panov ©   (2004-03-30 18:59) [3]

Может быть поможет WordApplication1.Disconnect;


 
lehich ©   (2004-03-30 19:47) [4]

приношу огромные извинения...((((((((((((((((
отключил следующую процедуру:

procedure reporttoprinter;
var
WA:TWordApplication;
FName: OLEVariant;
begin
FName := "c:\samopis\egrulfull\report.doc";
WA := TWordApplication.Create(nil);
WA.Visible := False;
wa.Documents.Open(FName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyPar am,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WA.ActiveDocument.PrintOut(EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Empty Param,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WA.Free;
end;

стало сохраняться нормально... значит после отсылки на принтер не отрабатывается закрытие документа... ошибка в вышенаписанной процедуре reporttoprinter...((((((( не могу понять где...


 
panov ©   (2004-03-30 20:11) [5]

А зачем еще один TWordApplication?



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
6-1076800567
dr Tr0jan
2004-02-15 02:16
2004.04.18
Attachment в TIdSMTP


1-1080128088
Rawman
2004-03-24 14:34
2004.04.18
DBGridEh, кто работал с ним подскажите (EhLib)


9-1065787112
CoderZ
2003-10-10 15:58
2004.04.18
Вопрос про PowerDraw


1-1080337442
garry79
2004-03-27 00:44
2004.04.18
Как принудительно закрыть Excel евский файл?


14-1080269816
Думкин
2004-03-26 05:56
2004.04.18
С днем рождения! 26 марта.