|
Закрыть файл Excel | ☑ | ||
---|---|---|---|---|
0
sovsemnovichek
12.09.13
✎
10:51
|
есть процедура, которая работает с файлом Excel
Процедура ЗагрузитьНажатие(Элемент) Если ИмяФайла = "" Тогда Сообщить("Вы не выбрали файл"); КонецЕсли; Попытка Состояние( "Загрузка Microsoft Excel..." ); ExcelПриложение = Новый COMОбъект("Excel.Application"); Исключение Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); Возврат; КонецПопытки; Попытка Состояние("Открытие файла Microsoft Excel..."); ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла); Исключение Сообщить("Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ExcelПриложение.Quit(); Возврат; КонецПопытки; Попытка Состояние("Обработка файла Microsoft Excel..."); ExcelЛист = ExcelФайл.Sheets(1); xlCellTypeLastCell = 11; КоличествоСтрок = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row; КоличествоКолонок = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column; Исключение Сообщить("Ошибка открытия листа №1 Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ExcelПриложение.Quit(); Возврат; КонецПопытки; Если КоличествоСтрок < 2 И КоличествоКолонок < 4 Тогда Сообщить("Неверный формат данных!" + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ExcelПриложение.Quit(); Возврат; КонецЕсли; ТабличноеПоле.Очистить(); Если (РКод = 0) ИЛИ (РНаименование = 0) ИЛИ (РКоличество = 0) Тогда Сообщить("Вы не произвели необходимые настройки!"); КонецЕсли; Для Row = 2 По КоличествоСтрок Цикл КолКод = ExcelПриложение.Cells(Row,РКод).Value; КолонкаАртикул = ExcelПриложение.Cells(Row,РАртикул).Value; КолонкаНоменклатура = ExcelПриложение.Cells(Row,РНаименование).Value; КолонкаКоличество = ExcelПриложение.Cells(Row,РКоличество).Value; КолСтрока = Формат(КолКод,"ЧГ=0"); КолАрт = Формат(КолонкаАртикул,"ЧГ=0"); ТаблицаИтог = ТабличноеПоле.Добавить(); ТаблицаИтог.Код = КолСтрока; ТаблицаИтог.Артикул = КолАрт; ТаблицаИтог.Наименование = КолонкаНоменклатура; ТаблицаИтог.Количество = КолонкаКоличество; КонецЦикла; КонецПроцедуры Проблема такая: почему, когда каждый раз выполняется процедура файл не закрывается, а так и остается открытым...? И каждый раз открывается заново, комп начинает, естественно сильно тормозить... Как решить эту проблему? |
|||
1
cw014
12.09.13
✎
10:53
|
Quit без параметров. При возникновении изменений, он требует от "юзверя" сказать, что с ними делать (закрыть, сохранить или отмена)... В итоге процесс подвисает
|
|||
2
mikecool
12.09.13
✎
10:55
|
чтобы файл закрылся, надо уничтожить все объекты типа воркбук или воркшит, открытые из него
|
|||
3
le_
12.09.13
✎
10:56
|
ExcelПриложение = Неопределено; |
|||
4
Формат
12.09.13
✎
10:56
|
так попробуй ExcelПриложение.ActiveWorkbook.Close();
|
|||
5
le_
12.09.13
✎
10:57
|
(3) Нужно вставить после:
ExcelПриложение.Quit(); |
|||
6
cw014
12.09.13
✎
10:57
|
Объект = Новый COMОбъект("Excel.Application");
Объект.DisplayAlerts = Ложь; Объект.Quit(); |
|||
7
wPa
12.09.13
✎
10:58
|
ExcelПриложение = NULL;
|
|||
8
sovsemnovichek
12.09.13
✎
11:01
|
Ага) будем пробовать
|
|||
9
sovsemnovichek
12.09.13
✎
11:13
|
Хорошо, файл каким-то странным образом стал закрываться, хотя я ничего не делал =D, но теперь куча процессов Excel остается, что такое?
|
|||
10
mikecool
12.09.13
✎
11:14
|
(9) смотри (2)
|
|||
11
sovsemnovichek
12.09.13
✎
11:16
|
(4) это так делается да?
|
|||
12
cw014
12.09.13
✎
11:16
|
(9) смотри (6) - 100% рабочее
|
|||
13
sovsemnovichek
12.09.13
✎
11:21
|
рычит
{Форма.Форма.Форма(49)}: Ошибка при вызове метода контекста (Quit) ExcelПриложение.Quit(); по причине: Неизвестная ошибка |
|||
14
sovsemnovichek
12.09.13
✎
11:22
|
Попытка
Состояние("Открытие файла Microsoft Excel..."); ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла); Исключение Сообщить("Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ExcelПриложение.Quit(); Возврат; КонецПопытки; Здесь вот рычит |
|||
15
sovsemnovichek
12.09.13
✎
12:04
|
(6) не работает, не получается почему-то
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |