Имя: Пароль:
1C
1С v8
Обход листов Excel ☑
0 Romkin25
 
21.12.17
✎
14:59
1с не хочет перебирать листы Эксель.
На моём ПК работает, а на клиентском не хочет. Ошибок не выдаёт.

Код:
Excel.Workbooks.Open(ПутьКФайлу);
Для Каждого Лист Из Excel.Sheets Цикл
КонецЦикла;


Код
ExcelЛист = Excel.Sheets(1);
Тоже не работает.

Windows 10
Office 2013
1 Maniac
 
21.12.17
✎
15:02
в сказку попал
2 cincout
 
21.12.17
✎
15:14
(0) Сообщите, когда заработает
3 Romkin25
 
21.12.17
✎
15:16
Excel.sheets.Count выдаёт 1.
4 Смотрящий
 
21.12.17
✎
15:16
Sheets относится к Workbooks а не Excel
5 Tatitutu
 
21.12.17
✎
15:27
Попытка
        Ехсел = Новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Ошибка. Возможно на компьютере не установлено приложение Excel.");
        Возврат Ложь;
    КонецПопытки;

    Книга = Ехсел.Workbooks;
    Попытка
        Книга.Open(ИмяФайла);
        Состояние("Обработка файла Microsoft Excel...");
    Исключение
        Возврат Ложь;
    КонецПопытки;

    КолвоЛистов = Ехсел.Sheets.Count();

    ИмяАктивногоЛиста = Ехсел.ActiveSheet.name;
    Если КолвоЛистов = 1 Тогда
        Лист = КолвоЛистов;
    Иначе

        спЛист = Новый СписокЗначений;
        спЛист.Добавить(ИмяАктивногоЛиста);
        Для сч = 1 По КолвоЛистов Цикл
            Если Ехсел.Sheets(сч).name = ИмяАктивногоЛиста Тогда
                Продолжить;
            КонецЕсли;
            спЛист.Добавить(Ехсел.Sheets(сч).name);
        КонецЦикла;
        зн = ИмяАктивногоЛиста;
        НужныйЛист = спЛист.ВыбратьЭлемент("Выберите нужный лист для загрузки", зн);
        Лист = НужныйЛист.Значение;
    КонецЕсли;