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

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

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Есть задача создать карту оттенков.
Есть возможность промерить спектрофотометром и экспортировать в CSV в LAB.
Примерно так
78.09,17.35,16.87
85.55,11.38,12.07
88.65,8.53,10.21
67.73,26.19,24.35
76.48,19.71,18.57
83.95,13.91,14.42
87.82,10.28,11.32
61.94,31.66,23.68
.
Хочется создать серию рядов плашек по 4 штуки в ряду размером плашки 40х10 мм с рецептурой LAB из экселевского файла.
Не могу понять с какого конца браться за эту задачу.
 
  • Спасибо
Реакции: _MBK_

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Брр
Нужен макрос, который будет читать данные из текстового файла и рисовать по ним плашки нужного цвета - так? 'hmmm'
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Начать с Alt+F11 в кореле.
Чтение из файла и рисование в целом несложная задача.
 

zollinger

Участник
Сообщения
548
Реакции
166
Реально просто, даже неинтересно как-то.
Читать текстовый файл, потом
Set s1 = ActiveLayer.CreateRectangle(...)
s1.Fill.UniformColor.RGBAssign три, прочтенных, значения

новая страница

Dim p1 As Page
Set p1 = ActiveDocument.InsertPagesEx(1, False, ActivePage.Index, 8.267717, 11.692913)
p1.Layers("Layer 1").Activate
это то, что можно выдернуть из Recorded macros за 5 секунд.
еще минуту, чтобы обвязку сделать для работы с файлом
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
спектрофотометром и экспортировать в CSV в LAB.
Только проще наверное будет скрипту подать уже не лабы, а посчитанные RGB наверное? Умеет ли скрипт лабы визуализировать?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
  • Спасибо
Реакции: mihas

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
Нужен макрос, который будет читать данные из текстового файла и рисовать по ним плашки нужного цвета - так?
Да, так.
Честно говоря я не очень большой мастер писать макросы, но дело даже не в этом. Для меня пока не понятно как в принципе заставить Корел (кореловский макрос) брать значения для заливки прямоугольника из ексель (CSV, TXT) файла.
Реально просто, даже неинтересно как-то.
Читать текстовый файл, потом
Что значит читать текстовый файл?
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Лучше выложи csv, быстрее будет.
 

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
черт знает что происходит с csv при загрузке в ресурсы даже в архиве.
Ну вот так
60,48,4
69,38,1
78,25,0
83,19,0
60,34,11
69,26,8
79,17,6
83,14,5
63,53,18
71,43,11
80,29,6
84,22,5
66,46,16
75,35,10
83,23,6
87,16,5
68,34,17
77,26,13
85,16,9
88,12,8
75,36,27
81,27,20
87,17,13
90,12,10
76,40,46
81,30,35
86,20,24
89,15,18
77,30,44
83,23,34
88,14,23
90,11,18
71,24,30
79,19,24
86,13,17
89,10,14
79,19,38
86,11,28
91,5,19
92,3,16
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Это значения Lab? А как квадратики будут располагаться?
В принципе, чтобы не париться с отрисовкой и координатами можно сделать так - рисуешь кучу прямоугольничков в нужных местах и запускаешь вот такой макрос
Код:
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, a, b
       End If
    Next I
    Close #1
End Sub
А тот их покрасит в цвета, считанные из файла c:\lab.csv
 
  • Спасибо
Реакции: ~RA~ и ilias

_MBK_

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

ilias

Топикстартер
15 лет на форуме
Сообщения
2 245
Реакции
806
хм, красит в ЛАБ, но в какой-то другой ...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Да, определенная разница есть
upload_2017-2-13_19-23-11.png

upload_2017-2-13_19-23-30.png
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Да, еще забыл сказать
Из файла значения читаются в следующих пределах L (0,255) a (-128,127) b (-128,127)
А в кореловской цветовой палитре отображаются как L (0,100) a (-128,127) b (-128,127)
Отсюда возможна некоторая непонятка
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Не, ну то есть это совсем другой ЛАБ ))
RGB значения вроде практически одинаковые, но на дисплее по другому отображает - видимо,профилированы корел с фотошопом по разному
По поводу ошибки 62 на 13 строке - странно, меня на приложенном файле вроде нормально
upload_2017-2-13_19-47-43.png
 

ilias

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