문제

vba를 사용하여 동일한 레코드에서 지정된 필드를보고 셀의 채우기 값을 적용 할 수있는 방법을 찾고 있습니다.이것은 샘플 탭 구분 된 Excel 시트가 될 것입니다 :

BEGIN_DATA_FORMAT
SampleID    SAMPLE_NAME CMYK_C  CMYK_M  CMYK_Y  CMYK_K  LAB_L   LAB_A   LAB_B

BEGIN_DATA                              
1   1   100 0   0   60  34.16   -19.52  -27.46
2   2   100 100 0   60  22.02   6.27    -23.25
3   3   100 0   0   0   54.56   -31.12  -45.29
END_DATA
.

필드 3-6 각각은 각각 CMYK 값을 포함합니다.CMYK 값에 대한 각 레코드를 출발점으로 파싱하여 필드 1에 셀 배경 채우기를 적용하고 싶습니다.

Excel / Windows 색상 선택기에서 CMYK 값을 설정하는 백도어 방법이없는 경우에는 RGB 또는 HSL로 변환해야 할 수 있습니다.

도움이 되었습니까?

해결책

이렇게하면 데이터의 CYMK에서 RGB를 제공합니다.

Function CYMK2RGB(c As Integer, y As Integer, m As Integer, k As Integer) As Long
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim colors As Integer

colors = 255 * (100 - k) / 100
R = colors * (100 - c) / 100
G = colors * (100 - m) / 100
B = colors * (100 - y) / 100

CYMK2RGB = RGB(R, G, B)
End Function
.

range("A1").Interior.Color=cymk2rgb(...)를 사용하면 CYMK가 감산되면 RGB가 첨가물이므로 정확히 일치하지 않을 것입니다.이 사이트 : http://www.printernational.org/rgb-versus-cmyk.php <./ A> 두 가지를 비교하는 세부 사항이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top