Здравствуйте, на работе стоит excel 2007 и написанный ниже код отлично работает, но вот дома стоит excel 2013 и обнаружил что код такой не работает пишет ошибку
"{Документ.ГрТаблицы.Форма.ФормаДокумента.Форма(36)}: Значение не является значением объектного типа (Sheets)
ExcelЛист = Excel.Sheets("МП");"
подскажите как изменить код чтобы работал COMОбъект и с установленным excel 2013 ?
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораФайла.Заголовок = "Выбор *.xls файла для загрузки";
ДиалогВыбораФайла.Фильтр = "Лист Excel (*.xls)|*.xls|";
Если ДиалогВыбораФайла.Выбрать() Тогда
ФайлНаДиске = ДиалогВыбораФайла.ПолноеИмяФайла;
КонецЕсли;
ВыбФайл = Новый Файл(ФайлНаДиске);
Если НЕ ВыбФайл.Существует() Тогда
Сообщить("Файл не существует!");
Возврат;
КонецЕсли;
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ФайлНаДиске);
Состояние("Загрузка из файла Microsoft Excel...");
Исключение
Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel.");
//Возврат ложь;
КонецПопытки;
ГрТаблицаМП.Очистить();
ГрТаблицаСМ.Очистить();
ГрТаблицаММ.Очистить();
ExcelЛист = Excel.Sheets("МП");
// Определить количество строк и колонок выбранного листа книги Excel
xlCellTypeLastCell = 11;
ПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
ПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
Для Строка = 2 По ПоследняяСтрока Цикл
Стр = ГрТаблицаМП.Добавить();
Состояние("Добавление строки МП № " + Строка);
Стр.УровеньСМ = ExcelЛист.Cells(Строка, 1).Value;
Стр.Объем = ExcelЛист.Cells(Строка, 2).Value;
Стр.Vна1мм = ExcelЛист.Cells(Строка, 3).Value;
КонецЦикла;
"{Документ.ГрТаблицы.Форма.ФормаДокумента.Форма(36)}: Значение не является значением объектного типа (Sheets)
ExcelЛист = Excel.Sheets("МП");"
подскажите как изменить код чтобы работал COMОбъект и с установленным excel 2013 ?
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораФайла.Заголовок = "Выбор *.xls файла для загрузки";
ДиалогВыбораФайла.Фильтр = "Лист Excel (*.xls)|*.xls|";
Если ДиалогВыбораФайла.Выбрать() Тогда
ФайлНаДиске = ДиалогВыбораФайла.ПолноеИмяФайла;
КонецЕсли;
ВыбФайл = Новый Файл(ФайлНаДиске);
Если НЕ ВыбФайл.Существует() Тогда
Сообщить("Файл не существует!");
Возврат;
КонецЕсли;
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ФайлНаДиске);
Состояние("Загрузка из файла Microsoft Excel...");
Исключение
Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel.");
//Возврат ложь;
КонецПопытки;
ГрТаблицаМП.Очистить();
ГрТаблицаСМ.Очистить();
ГрТаблицаММ.Очистить();
ExcelЛист = Excel.Sheets("МП");
// Определить количество строк и колонок выбранного листа книги Excel
xlCellTypeLastCell = 11;
ПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
ПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
Для Строка = 2 По ПоследняяСтрока Цикл
Стр = ГрТаблицаМП.Добавить();
Состояние("Добавление строки МП № " + Строка);
Стр.УровеньСМ = ExcelЛист.Cells(Строка, 1).Value;
Стр.Объем = ExcelЛист.Cells(Строка, 2).Value;
Стр.Vна1мм = ExcelЛист.Cells(Строка, 3).Value;
КонецЦикла;
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот