Не работает внешняя обработка после обновления Экселя
Здравствуйте!
Перестала работать внешняя обработка после обновления версии Эксель.
такая ошибка при запуске
{ВнешняяОбработка.NEON.Форма.Форма.Форма(207)}: Ошибка при вызове метода контекста (Sheets)
Лист = ExcelWB.Sheets(2).select();
по причине:
Произошла исключительная ситуация (0x8002000b)
Перестала работать внешняя обработка после обновления версии Эксель.
такая ошибка при запуске
{ВнешняяОбработка.NEON.Форма.Форма.Форма(207)}: Ошибка при вызове метода контекста (Sheets)
Лист = ExcelWB.Sheets(2).select();
по причине:
Произошла исключительная ситуация (0x8002000b)
//Создаем шапку лист1
Лист = ExcelWB.Sheets(1);
Лист.Name = "главная";
Лист.Columns("A").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("B").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("E").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("F").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("G").NumberFormat = "@"; //Текстовый формат колонки
//Создаем шапку лист 2
Лист = ExcelWB.Sheets(2).select(); --------------------------------------------------------------Вот сюда тычет,
Лист.Name ="товар - движение по складу";
Лист.Columns("A").NumberFormat = "0";
Лист.Columns("B").NumberFormat = "@";
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("E").NumberFormat = "0";
Лист.Columns("F").NumberFormat = "@";
Лист.Columns("G").NumberFormat = "@";
Лист.Columns("H").NumberFormat = "@";
Лист.Columns("I").NumberFormat = "@";
ПоказатьПо теме из базы знаний
- Загрузка из Excel книги покупок и книги продаж в 1С:Налогоплательщик 8.3 (релиз 3.0.254.1) для последующего формирования декларации НДС 2015-2025
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Поиск номенклатуры в документах
- Маркетплейсный загрузчик для 12+ маркетплейсов в 1С:БП 3.0, 1С:УТ 11, 1C:КА 2, 1C:ERP, 1C:УНФ
- Интеграция 1С с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода - для УНФ, УТ, КА, ERP
Найденные решения
ExcelWB.Sheets(2).
Это ведь не создание нового листа, а выбор, может второго листа просто нет?
Открыл Excel 2007 - там в новой книге сразу три листа, в 2016 - только один.
Можно проверить через свойство Sheets.Count, и создать Sheets.Add()
Это ведь не создание нового листа, а выбор, может второго листа просто нет?
Открыл Excel 2007 - там в новой книге сразу три листа, в 2016 - только один.
Можно проверить через свойство Sheets.Count, и создать Sheets.Add()
(16) Если целиком, то вроде так должно работать:
Листы = ExcelWB.Sheets;
Пока Листы.Count < 3 Цикл
Листы.Add();
КонецЦикла;
//Создаем шапку лист1
Лист = ExcelWB.Sheets(1);
Лист.Name = "главная";
Лист.Columns("A").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("B").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("E").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("F").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("G").NumberFormat = "@"; //Текстовый формат колонки
//Создаем шапку лист 2
Лист = ExcelWB.Sheets(2);
Лист.Name ="товар - движение по складу";
Лист.Columns("A").NumberFormat = "0";
Лист.Columns("B").NumberFormat = "@";
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("E").NumberFormat = "0";
Лист.Columns("F").NumberFormat = "@";
Лист.Columns("G").NumberFormat = "@";
Лист.Columns("H").NumberFormat = "@";
Лист.Columns("I").NumberFormat = "@";
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(11)
Пока Sheets.Count < 3 Цикл Sheets.Add() КонецЦикла;
//Создаем шапку лист1
Лист = ExcelWB.Sheets;
Пока Sheets.Count < 3 Цикл Sheets.Add() КонецЦикла;
Лист.Name = "главная";
Лист.Columns("A").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("B").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("E").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("F").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("G").NumberFormat = "@"; //Текстовый формат колонки
Показать{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,7)}: Переменная не определена (Sheets)
Пока <<?>>Sheets.Count < 3 Цикл Sheets.Add() КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,29)}: Переменная не определена (Sheets)
Пока Sheets.Count < 3 Цикл <<?>>Sheets.Add() КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,7)}: Переменная не определена (Sheets)
Пока <<?>>Sheets.Count < 3 Цикл Sheets.Add() КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,29)}: Переменная не определена (Sheets)
Пока Sheets.Count < 3 Цикл <<?>>Sheets.Add() КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,7)}: Переменная не определена (Sheets)
Пока <<?>>Sheets.Count < 3 Цикл Sheets.Add() КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(199,29)}: Переменная не определена (Sheets)
Показать
сделал так
Но при запуске обработки теперь вот такая ошибка
Лист = ExcelWB.Sheets;
Пока ExcelWB.Sheets.Count < 3 Цикл ExcelWB.Sheets.Add() КонецЦикла;
Но при запуске обработки теперь вот такая ошибка
{ВнешняяОбработка.NEON.Форма.Форма.Форма(201)}: Поле объекта не обнаружено (Name)
Лист.Name = "главная";
Лист.Name = "главная";
(14) Для начала попробуйте именовать переменные так, чтобы они обозначали то, чем являются.
Например, первой строкой у вас
На самом деле "Sheets" это коллекция листов и свойства "Name" у неё нет, но вы пытаетесь его присвоить, считая, что это один лист.
Корректно будет примерно так:
Кстати, объектная модель офиса отлично описана на msdn:
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/sheets-object-excel
Например, первой строкой у вас
Лист = ExcelWB.Sheets;
На самом деле "Sheets" это коллекция листов и свойства "Name" у неё нет, но вы пытаетесь его присвоить, считая, что это один лист.
Корректно будет примерно так:
Листы = ExcelWB.Sheets;
Пока Листы.Count < 3 Цикл
Листы.Add();
КонецЦикла;
Лист = Листы(1);
Лист.Name = "главная";
ПоказатьКстати, объектная модель офиса отлично описана на msdn:
(15)
Лист = <<?>>Листы(); (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(203,9)}: Процедура или функция с указанным именем не определена (Листы)
Лист = <<?>>Листы(); (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(215,9)}: Процедура или функция с указанным именем не определена (Листы)
Лист = <<?>>Листы(); (Проверка: Сервер)
я совсем не в теме...я.... есть смысл заплатить специалисту? времени совсем нет решать неделю.
Листы = ExcelWB.Sheets;
Пока Листы.Count < 3 Цикл
Листы.Add();
КонецЦикла;
Лист = Листы(1);
Лист.Name = "главная";
Пока Листы.Count < 3 Цикл
Листы.Add();
КонецЦикла;
Лист = Листы(1);
Лист.Name = "главная";
Лист = <<?>>Листы(); (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(203,9)}: Процедура или функция с указанным именем не определена (Листы)
Лист = <<?>>Листы(); (Проверка: Сервер)
{ВнешняяОбработка.NEON.Форма.Форма.Форма(215,9)}: Процедура или функция с указанным именем не определена (Листы)
Лист = <<?>>Листы(); (Проверка: Сервер)
я совсем не в теме...я.... есть смысл заплатить специалисту? времени совсем нет решать неделю.
(16) Если целиком, то вроде так должно работать:
Листы = ExcelWB.Sheets;
Пока Листы.Count < 3 Цикл
Листы.Add();
КонецЦикла;
//Создаем шапку лист1
Лист = ExcelWB.Sheets(1);
Лист.Name = "главная";
Лист.Columns("A").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("B").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ"; //Формат колонки - Дата
Лист.Columns("E").NumberFormat = "0"; //Формат колонки - Число целое
Лист.Columns("F").NumberFormat = "@"; //Текстовый формат колонки
Лист.Columns("G").NumberFormat = "@"; //Текстовый формат колонки
//Создаем шапку лист 2
Лист = ExcelWB.Sheets(2);
Лист.Name ="товар - движение по складу";
Лист.Columns("A").NumberFormat = "0";
Лист.Columns("B").NumberFormat = "@";
Лист.Columns("C").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("D").NumberFormat = "ДД.ММ.ГГГГ";
Лист.Columns("E").NumberFormat = "0";
Лист.Columns("F").NumberFormat = "@";
Лист.Columns("G").NumberFormat = "@";
Лист.Columns("H").NumberFormat = "@";
Лист.Columns("I").NumberFormat = "@";
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот