|
На Эксель = ПолучитьCOMОбъект(ИмяФайла); отладка завершается и дальше не идет.
| ☑ |
0
SkillUp
26.10.18
✎
11:51
|
Функция, которая возвращает ТЗ (считывая эксель);
На Эксель = ПолучитьCOMОбъект(ИмяФайла); отладка завершается и дальше не идет. Не могу понять из-за чего.
Код функции:
Функция ПолучитьНужнуюТЗ (ИмяФайла);
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language = "javascript";
ВремяНачала = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");
Эксель = ПолучитьCOMОбъект(ИмяФайла);
ЛистЭксель = Эксель.WorkSheets(1);
ВсегоСтрок = ЛистЭксель.Cells.SpecialCells(11).Row;
ВсегоКолонок = ЛистЭксель.Cells.SpecialCells(11).Column;
Сообщить("Колонок: "+ Строка(ВсегоКолонок) + " Строк: "+ Строка(ВсегоСтрок));
ТЗ = Новый ТаблицаЗначений;
Для Счетчик = 1 По ВсегоКолонок Цикл
ТЗ.Колонки.Добавить("Колонка"+Счетчик);
КонецЦикла;
Для Счетчик = 1 По ВсегоСтрок Цикл
НоваяСтрока = ТЗ.Добавить();
КонецЦикла;
Область = ЛистЭксель.Range(ЛистЭксель.Cells(1,1), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок));
Данные = Область.Value.Выгрузить();
Для Счетчик = 0 По ВсегоКолонок-1 Цикл
ТЗ.ЗагрузитьКолонку(Данные[Счетчик], Счетчик);
КонецЦикла;
ЛистЭксель = Неопределено;
Эксель = Неопределено;
ВремяОкончания = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");
//ОчиститьСообщения();
Сообщить("Выполнение скрипта заняло: " + Строка(ВремяОкончания - ВремяНачала) + " мсек. " + Символы.ПС +
"Обработано строк: " + Строка(ВсегоКолонок) + " колонок: " + Строка(ВсегоСтрок) + " итого ячеек; " + Строка(ВсегоКолонок * ВсегоСтрок));
Возврат ТЗ;
КонецФункции
|
|
1
asady
26.10.18
✎
11:52
|
(0) в диспетчере задач процесс экселя появляется?
|
|
2
SkillUp
26.10.18
✎
11:55
|
(1) Нет.
|
|
3
SkillUp
26.10.18
✎
11:55
|
(1) ОЙЙЙ, да есть аж 9 шт.
|
|
4
SkillUp
26.10.18
✎
11:55
|
(1) Офигеть!
|
|
5
shadow_sw
26.10.18
✎
12:00
|
Ex = новый COMОбъект("Excel.Application");
так попробуй
|
|
6
asady
26.10.18
✎
12:07
|
(5) не поможет
там наверное модальное окошко эксель выбросил и ждет
|
|
7
SkillUp
26.10.18
✎
12:10
|
(6) ИМЕННО ОНО! Спасибо!
|
|
8
shadow_sw
26.10.18
✎
12:18
|
Эксель.Visible = 1;
вот еще
|
|
Закон Брукера: Даже маленькая практика стоит большой теории.