1

同じレコード内の指定されたフィールドを見て、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 への変換を最初に行う必要がある場合があります。

4

1 に答える 1

0

これにより、データの 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には、この 2 つを比較した詳細があります。

于 2012-05-23T19:43:23.840 に答える