8.х Загрузка в табличную часть из Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем kornet46rus, 16 окт 2015.

  1. TopicStarter Overlay
    kornet46rus
    Offline

    kornet46rus

    Регистрация:
    16 окт 2015
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Короче пытаюсь сделать одну хреновину... Сразу напишу, чтоб не было, мол вот лошара, нубокодер и т.п., я только учусь и хочу научиться.
    В общем суть задания сделать внешнюю обработку, которая загружает экселевский файл в табличную часть. Для того, чтобы проверить читает ли вообще эксель, нашел свойство, которое якобы, по описанию загоняет данные в массив. Но нефига не работает. Прикреплю обработку и код. Может поможет кто разобраться. Чисто для себя. Научиться с этим работать
    роцедура ПутьНачалоВыбора(Элемент, СтандартнаяОбработка)
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите каталог";
    Если Диалог.Выбрать() Тогда
    ЭлементыФормы.Путь.Значение = Диалог.ПолноеИмяФайла;
    КонецЕсли;
    КонецПроцедуры

    Процедура ЗагрузитьНажатие(Элемент)
    ТабличныйДокумент.Очистить();
    //ТабличныйДокумент.Колонки.Очистить();
    ЭлементыФормы.ТабличныйДокумент.Колонки.Очистить();

    Попытка
    ПодключениеЭксель = Новый COMОбъект("Excel.Application");
    ПодключениеЭксель.WorkBooks.Open(Путь.Значение);
    Книга = ПодключениеЭксель.WorkSheets(1);

    //пытаюсь загнать в массив, чтоб проверить чтение файла
    Массив = Книга.UsedRange.Value;

    Состояние("Обработка данных Exel.....");
    Исключение
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Ошибка загрузки!";
    Сообщение.Текст = ОписаниеОшибки();
    Сообщение.Сообщить();
    КонецПопытки;
    КонецПроцедуры

    Вложения:

    • Desktop.rar
      Размер файла:
      11,2 КБ
      Просмотров:
      0
    Последнее редактирование модератором: 19 окт 2015
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    На счёт UsedRange лично я сомневаюсь и использую Range (). Про свойства можно прочитать в справке VBA в Excel.
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Не сомневайся, используй. Работает.. )


    2 ТС. Да в общем все нормально на первый взгляд. Только там еще Выгрузить() надо.
    Вместо:
    Код:
    //пытаюсь загнать в массив, чтоб проверить чтение файла
    Массив = Книга.UsedRange.Value;
    
    нужно:
    Код:
    //пытаюсь загнать в массив, чтоб проверить чтение файла
    Диапазон = Книга.UsedRange.Value;
    Массив = Диапазон.Выгрузить();
    
Похожие темы
  1. AlenkaInt
    Ответов:
    17
    Просмотров:
    3.227
  2. Dimka77
    Ответов:
    4
    Просмотров:
    2.465
  3. Nattaly
    Ответов:
    1
    Просмотров:
    1.281
  4. MevMix
    Ответов:
    4
    Просмотров:
    880
  5. Роман_Н
    Ответов:
    10
    Просмотров:
    689
Загрузка...

Поделиться этой страницей