Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7559 / 13644 ツリー ←次へ | 前へ→

【38259】カラー表示が8桁なのはなぜですか 西谷 さくら 06/5/30(火) 17:51 質問[未読]
【38261】Re:カラー表示が8桁なのはなぜですか Blue 06/5/30(火) 18:04 発言[未読]
【38262】Re:カラー表示が8桁なのはなぜですか 角田 06/5/30(火) 18:10 回答[未読]
【38265】Re:カラー表示が8桁なのはなぜですか 西谷 さくら 06/5/30(火) 19:18 お礼[未読]

【38259】カラー表示が8桁なのはなぜですか
質問  西谷 さくら E-MAIL  - 06/5/30(火) 17:51 -

引用なし
パスワード
   VBAのコントロールの backcolor や forecolor のカラー表示が &H80000012& などと8桁で表示されているのですが、RGBなら赤緑青それぞれ2桁で00 からFF までで、3色あわせて6桁となるのだと思うのですが、システムカラーなどをRGBコードで再現しようとするとき、8桁をどぅ6桁に翻訳するのかわかりません。わかる人がいらっしゃったら教えてください。

【38261】Re:カラー表示が8桁なのはなぜですか
発言  Blue  - 06/5/30(火) 18:04 -

引用なし
パスワード
   参考にどうぞ。
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200406_04060018.html

【38262】Re:カラー表示が8桁なのはなぜですか
回答  角田 WEB  - 06/5/30(火) 18:10 -

引用なし
パスワード
   こんにちは。
ColorプロパティはLong型(4byte)です。
その内、&H00000000〜&H00FFFFFF はRGBで指定する範囲になります。

システムカラー定数は0から始まる連番に割り当てられています。
そして、4byteの先頭1bitを(on)にして表現します。
> &H80000012
  ↑
この[&H80]部分は2進で[1000 0000]です。つまり先頭1bit(on)です。
最後の[&H12]が連番部分です。

カラー定数はVBAヘルプの「定数/システムカラー定数」参照。

> システムカラーなどをRGBコードで再現しようとするとき、
> 8桁をどぅ6桁に翻訳するのかわかりません
システムカラーは、vbButtonFace(&H8000000F)などの定数名で指定できます。
マクロ内で、わざわざRGBで指定する必要はないですよ。

変換方法は、ある事はあるけどAPIの利用が必要です。

【38265】Re:カラー表示が8桁なのはなぜですか
お礼  西谷 さくら E-MAIL  - 06/5/30(火) 19:18 -

引用なし
パスワード
   ▼角田 さん:
>こんにちは。
>ColorプロパティはLong型(4byte)です。
>その内、&H00000000〜&H00FFFFFF はRGBで指定する範囲になります。
>
>システムカラー定数は0から始まる連番に割り当てられています。
>そして、4byteの先頭1bitを(on)にして表現します。
>> &H80000012
>  ↑
>この[&H80]部分は2進で[1000 0000]です。つまり先頭1bit(on)です。
>最後の[&H12]が連番部分です。
>
>カラー定数はVBAヘルプの「定数/システムカラー定数」参照。
>
>> システムカラーなどをRGBコードで再現しようとするとき、
>> 8桁をどぅ6桁に翻訳するのかわかりません
>システムカラーは、vbButtonFace(&H8000000F)などの定数名で指定できます。
>マクロ内で、わざわざRGBで指定する必要はないですよ。
>
>変換方法は、ある事はあるけどAPIの利用が必要です。

ありがとうございました。試してみます。いつも不思議に思っていたので
助かります。

7559 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free