Имя: Пароль:
1C
 
Загрузка из эксель
0 Mikhail2014
 
12.10.16
12:38
Привет! Делаю на управляемых формах загрузку из эксель, создал com-объект, пр попытке открыть книгу выдает неизвестную ошибку (так и пишет - "Неизвестная ошибка!").

Код:

Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Application.WorkBooks.Open(объект.ПутьКФайлу);
Excel.Sheets(1).Select();

Валится на 3-ей строке, что я делаю не так?
1 Mikhail2014
 
12.10.16
12:39
Делаю на клиенте, 1с запущена с правами администратора.
2 Mikhail2014
 
12.10.16
12:39
Пробовал так:

Excel.WorkBooks.Open(объект.ПутьКФайлу);

Тоже самое.
3 Fragster
 
гуру
12.10.16
12:39
(0) криво скопипастил
4 Fragster
 
гуру
12.10.16
12:40
а ошибку мы должны угадать?
5 Mikhail2014
 
12.10.16
12:40
Просто пишет "Неизвестная ошибка!", без описания.
6 DailyLookingOnA Sunse
 
12.10.16
12:42
Процедура на сервере или на клиенте?
7 Жан Пердежон
 
12.10.16
12:42
Excel.WorkBooks.Open(объект.ПутьКФайлу);
8 Fragster
 
гуру
12.10.16
12:42
(5) это по нажатию на кнопку "подробно" так?
9 Mikhail2014
 
12.10.16
12:43
(7) Эмм, так и есть.
10 Mikhail2014
 
12.10.16
12:43
(8) Да
11 Mikhail2014
 
12.10.16
12:45
(8) Ну и стандартную шапку - ошибка при вызове метода Excel.WorkBooks.Open(объект.ПутьКФайлу);
12 Жан Пердежон
 
12.10.16
12:46
всю процедуру показывай.
доступ есть к файлу?
13 Жан Пердежон
 
12.10.16
12:50
Excel.DisplayAlerts = 1; пробовал? процесса excel нет зависшего?
14 Mikhail2014
 
12.10.16
12:52
(12)

&НаКлиенте
Процедура СоздатьСторно(Команда)
    
    Excel = Новый COMОбъект("Excel.Application");
    Excel.DisplayAlerts = 0;
    Excel.Application.WorkBooks.Open(объект.ПутьКФайлу);
    Excel.Sheets(1).Select();
    
    ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count;
    МассивСтрок = новый Массив;
    
    для нс = 2 по ФайлСтрок цикл
        новаястрока = новый массив;
        новаястрока.Добавить(сокрлп(Строка(Excel.Cells(НС, 1).Value)));
        новаястрока.Добавить(сокрлп(Строка(Excel.Cells(НС, 2).Value)));
        новаястрока.Добавить(Excel.Cells(НС, 3).Value);
        новаястрока.Добавить(Excel.Cells(НС, 4).Value);
        
        МассивСтрок.Добавить(новаястрока);
    конеццикла;
    
    СоздатьСторноНаСервере(МассивСтрок);
    
    Excel.Quit();
    Excel = неопределено;
    
КонецПроцедуры
15 Mikhail2014
 
12.10.16
12:52
(13) Нет, все поотключал.
16 Mikhail2014
 
12.10.16
12:53
(15) Ну в смысле все лишние процессы Excel завершил.
Основная теорема систематики: Новые системы плодят новые проблемы.