Excelの色をHTMLに変換

Pocket

ExcelのVBAにはRGB関数というものがあります。

RGB(red, green, blue)

赤と緑と青にそれぞれ0から255までの整数を当てはめて色を表します。
関数になっていますが、内容は単純で
RGB=red+green*256+blue*256*256
という計算をしているだけです。

一方、HTMLで色を指定するには「#00FFFF」という形式を使います。
赤と緑と青にそれぞれ0から255までの整数を当てはめて、それぞれ16進数で表わし、頭に「#」を付けます。

Excelで表わされる色をHTMLの表現に変換するユーザー定義関数を作ってみました。

Function rgb2html(num)
    ret = ""
    For i = 0 To 2
        temp = num Mod 256
        ret = ret & Format(Hex(temp), "00")
        num = (num - temp) / 256
    Next i
    rgb2html = "#" & ret
End Function

応用としては「Cells(x, y).Interior.Color」と書くとセルの背景色が取得できるので、ここからHTMLにおける表記に変換できます。
次の例は、1列目に背景色が設定されたセルがあり、その右隣にそれぞれのHTMLにおける表記をセットするものです。

Sub test()
    For i = 1 To 5
        Cells(i, 2) = rgb2html(Cells(i, 1).Interior.Color)
    Next i
End Sub
#C5D9F1
#FFC000
#9BBB59
#215867
#F79646

[ 2010年5月31日 | カテゴリー: Excel | タグ: , , ]

« | »

コメント

  1. […] 前に紹介した「Excelの色をHTMLに変換」を利用してセルの色情報を表す数値(RGB関数による数値)をHTMLにおける表記(例「#FF00FF」)に変換します。 […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報