![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
архивация открытого документа [D7, XP]
Xmen © (2012-02-05 21:04:00)Привет мастерам!.
Есть документ в Excelе нужно его архивировать при закрытие.
procedure TForm.ExcelWorkbook1Deactivate(Sender: TObject);
begin
path:= ExtractFilePath(Application.ExeName);
ExecAndWait(path+'rar.exe',' a -r -ep1 text.rar temp\*',SW_HIDE);
DM.dtsProject.Edit;
TBlobField(DM.dtsProject.FieldByName('prodoc')).LoadFromFile(path+'text.rar');
DM.dtsProject.Post;
DM.TR.CommitRetaining;
end;
при анализе проблемы выяснил причину ручным методом
D:\Projects\temp\text.rar: Cannot open D:\Projects\temp\WorkDoc\text.xls
Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Как можно архивировать папку если в нем есть активный документ или как с начало его закрыть а патом архивировать ?
Dimka Maslov (2012-02-06 10:38:00) [1]
> Как можно архивировать папку если в нем есть активный документ
Я тоже задаюсь этим вопросом. Как вообще такое в голову приходит?
QAZ (2012-02-06 10:24:00) [2]а смысл рарить файл в десяток килобайт?
Забаненный (2012-02-05 22:01:00) [3]это не ТЗ.
Xmen (2012-02-05 21:36:00) [4]Есть папка для каждого клиента (шаблоны бланков в ворде и экселе).
Открываю для каждого клиента и заполняю основной документ на экселе а остолное ворд файлы берут данные от эксел документа и при закрытие запускается этот код procedure TForm.ExcelWorkbook1Deactivate(Sender: TObject); Работаю с компонентами ExcelApplication. Интересный момент в том что архивация наченается до закрытия эксел документа и получается архив без основного документа из за того что он был открыт в процессе архивации.
Забаненный (2012-02-05 21:26:00) [5]открывай не монопольно
> Как можно архивировать папку если в нем есть активный документ
> или как с начало его закрыть а патом архивировать ?
а ТЗ что требует?