Имя: Пароль:
1C
1С v8
Новый COMОбъект("Excel.Application") и зависание процесса Excel
0 Maxwell198705
 
17.11.15
06:49
Обрабатываю лист excell методами
    Эксель = Новый COMОбъект("Excel.Application");
    Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
    Лист = Книга.WorkSheets(1);
    ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
        Для Строка = 1 по ВсегоСтрок Цикл
                .................
                КонецЦикла;
    Лист = Неопределено;
    Книга = Неопределено;
    Эксель = Неопределено;
Но в итоге остаётся зависший процесс Excell, приходится в ручную его завершать через диспетчер задач. МОжет кто сталкивался с такой проблемой, подскажите как её решить?
Платформа 8.3 выполняется всё  &НаКлиенте
1 Garykom
 
гуру
17.11.15
06:54
(0) лень погуглить?
excelBook.Close(0);
excelApp.Quit();
2 Мэс33
 
17.11.15
06:55
Эксель.Application.Quit();
3 Maxwell198705
 
17.11.15
07:01
Значение не является значением объектного типа (Application)
    Эксель.Application.Quit();
4 Garykom
 
гуру
17.11.15
07:05
(3) выкинь нафик "Application."
5 Garykom
 
гуру
17.11.15
07:05
(4)+ и прочитай и переделай (1)
6 Maxwell198705
 
17.11.15
07:07
Эксель.Application.Quit();    
Лист = Неопределено;
Книга = Неопределено;
Эксель = Неопределено;
вот так работает!
Всем спасибо!
7 minsk1s
 
17.11.15
07:08
У меня так решилось http://1cnik.by/problemcom1c83.html
8 minsk1s
 
17.11.15
07:09
Незабудь потом сервак ребутнуть.
9 Maxwell198705
 
17.11.15
07:16
(7) ну это уж совсем замутно, тут всё на клиенте, все просто, файл открыли на клиенте прочитали и закрыли. Сервер про это вообще ничего не знает.
10 Мэс33
 
17.11.15
07:16
(8) Точно !
11 ЧеловекДуши
 
17.11.15
07:20
(9) Чукча не читатель?
Подставить по смыслу переменные не могешь?

Книга.Close(0);
Эксель.Quit();
12 ЧеловекДуши
 
17.11.15
07:20
+(8) И формат C: /Y для успокоения души, выполнить :)
13 oslokot
 
17.11.15
07:28
8.3 уже сама умеет ексельки читать, без всяких сом
14 Garykom
 
гуру
17.11.15
07:30
(13) а PDF случаем еще не умеет?
15 los_hooliganos
 
17.11.15
08:17
(6) Не забудь Эксель.finalize()
Память тоже надо освободить.
16 los_hooliganos
 
17.11.15
08:19
(13) SQL запрос к эксель все равно будет быстрее.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший