[CDR X5-X8] Создать плашки с рецептурой из Эксель

Статус
Закрыто для дальнейших ответов.

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
да нет, ну возьмем первую строчку файла, ЛАБ 60,48,4
ни одной плашки с таким цветом после макроса нет
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
да, a и b правильные, а вот L он бог знает как считает
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
да, перформатировал L из 0-100 в 0-255 и вроде все заработало
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
блин, только порядок покраски ... не могу разобраться, вторую плашку он красит рецептом №11 из файла.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
А порядок сильно важен? Я так понимаю, плашки красятся по порядку создания или, может быть, выделения.
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Порядок важен, но я думаю, что завтра разберусь с этим. Да скорее всего надо просто чтобы соседние плашки были соседними по уровню.
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Ну с порядком просто, если нужно красить слева-направо, сверху-вниз то создается сначала один объект, затем дублируется полностью ряд вниз, выделив ряд нужно его продублировать вправо три раза.
Ну а чтобы не заполнялись объекты последним цветом цикл чуть модифицируется.
Код:
Sub RecolorLab()
Dim Sel As ShapeRange
Dim I As Integer
Dim l, a, b As Integer
    Open "c:\lab.csv" For Input As #1
 
    If Documents.Count = 0 Then Exit Sub
 
    Set Sel = ActiveSelectionRange
    If Sel.Count < 1 Then Exit Sub
        
    For I = 1 To Sel.Count
       If Sel(I).Type = cdrRectangleShape Then
         If Not (EOF(1)) Then
         Input #1, l, a, b
         Sel(I).Fill.UniformColor.LabAssign l * 2.55, a, b
            Else
                Exit For
         End If
       End If
    Next I
    Close #1
End Sub
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
По поводу порядка раскраски - все таки зависит именно от порядка создания
Если дублирую квадраты построчно (слева направо потом сверху вниз) то в таком порядке и разукрашивается
upload_2017-2-14_11-5-13.png

Если же по столбцам (сверху вниз затем столбцы дублирую слева направо) то так:
upload_2017-2-14_11-6-2.png
 

Вложения

  • upload_2017-2-14_11-4-57.png
    upload_2017-2-14_11-4-57.png
    94.7 КБ · Просм.: 804

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Да, я разобрался. Макрос берет верхнюю строку в CSV и красит начиная с последнего по уровню объекта.
 

Вложения

  • Без имени-1.jpg
    Без имени-1.jpg
    113.5 КБ · Просм.: 794

svlasov

Администратор
20 лет на форуме
Сообщения
2 227
Реакции
4 933
@zollinger забанен в этой теме за флуд и переход на личности.
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Перестал макрос работать. Не понимаю почему. Просто ничего не происходит.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Уф. Разобрался. Он раскрашивает объекты типа "Прямоугольник", а у меня они в кривые были переведены.
 
Статус
Закрыто для дальнейших ответов.