8.х Excel, Разобрать цвет ячеек!

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Sf_by_YaphetS, 19 сен 2012.

  1. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    Ребята подскажите! При подключении к документу эксель забираю данные! по контрагнетам, но в нем есть цветные ячейки обозначающие что Акт не вернулся! МОЖНО ЛИ програмнно разобрать цвет ячейки? каким образом это делается если это возможно подскажите плз!
  2. Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    скрин шот было бы неплохо)
  3. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    [​IMG]
    вот так оно выглядет
  4. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Код:
    Док.sheets(1).cells(1,1).interior.ColorIndex;
  5. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    отладка проходит без ошибок но он не видит цвет
    Код:
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; // считаем всего строк
    
    цвет = новый цвет(255, 255, 255);
    
    Стр=2;
    Пока (Стр<=ВсегоСтрок) Цикл
    
    Состояние("Прочитано "+Стр+" строк.");
    Номер = СокрЛП(Лист.Cells(Стр,1).Value);
    Сумма = СокрЛП(Лист.Cells(Стр,2).Value);
    Контрагент = СокрЛП(Лист.Cells(Стр,4).Value);
    Доб = ТабАкты.Добавить();
    Доб.НомерАкта = Номер;
    Доб.Сумма = Сумма;
    Доб.Дата = Дата(2009, 01, 31);
    Доб.Контрагент = Контрагент;
    Если Лист.Cells(Стр, 1).interior.ColorIndex <> цвет тогда  //не видит цвета
    Доб.Возврат = ложь;
    КонецЕсли;
    Стр = Стр + 1;
    КонецЦикла;
    
  6. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    что-то я не уверена, что вот эта строка дает вам количество строк
    Код:
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row
    посмотрите в отладчике
  7. TopicStarter Overlay
    Sf_by_YaphetS
    Offline

    Sf_by_YaphetS Опытный в 1С

    Регистрация:
    8 авг 2012
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо большое за помощь! Разобрался! При просмотре цветов выдает не в RGB, а номер цвета
    Код:
    Если Лист.Cells(Стр, 1).interior.ColorIndex <> 2 тогда  
    Доб.Вернул = Истина;
    Иначе Доб.Вернул = ложь;
    КонецЕсли;

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