|
Формирование документа ecxel из макета. |
☑ |
0
ks-78
07.11.14
✎
12:25
|
Подскажите пожалуйста, столкнулся с проблемой. Сделал внешнюю печатную форму, которая должна заполнять Excel файл. Файл-шаблон лежит в макете. Все заполняется, сохраняется. Но вот после этого Excel сразу закрывается. Не пойму, как с этим бороться. Конфа УТ 11.1. Печатаю на клиенте. Код:
ФайлЕксель = ПолучитьИзВременногоХранилища(АдресФайлаЕксельВХранилище);
ПутьКФайлуНаКлиенте = ПолучитьИмяВременногоФайла("xls");
ФайлЕксель.Записать(ПутьКФайлуНаКлиенте);
Эксель = ПолучитьCOMОбъект(ПутьКФайлуНаКлиенте);
Лист = Эксель.WorkSheets(1);
//тут происходит заполнение
Эксель.Application.Visible = Истина;
Эксель.Activate();
Эксель = 0;
|
|
1
vicof
07.11.14
✎
12:27
|
Эксель.Activate();
Эксель = 0;
|
|
2
vicof
07.11.14
✎
12:29
|
Ничего подозрительного не видишь?
|
|
3
ks-78
07.11.14
✎
12:30
|
вроде нет. а что не так? Quit же не делается
|
|
4
vicof
07.11.14
✎
12:31
|
(3) мдаа...Ну попробуй закомментировать последнюю строчку.
|
|
5
ks-78
07.11.14
✎
12:35
|
ничего не меняется. в общем то, на мой взгляд, смысл в этой строке - отключиться от ком объекта. при этом само приложение excel не закрывается. таким же образом в бсп работа с word организована. разве нет?
|
|
6
ks-78
07.11.14
✎
12:37
|
ком живет, пока открыта форма. при печати после формирования документа она закрывается. ком, соответственно, прибивается. и вот ексель=0, как я понимаю, призван избежать закрытия приложения. поправьте, если ошибаюсь.
|
|
7
vicof
07.11.14
✎
12:49
|
По логике вещей, если переменная сначала является ком-объектом, а потом нулем, то ком-объект должен уничтожиться. Может, ошибаюсь.
|
|