こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

フォームのコントロールのバックカラーの色を変えたい

アクセス2007です。

フォームのコントロールのバックカラーの色をVBAで変えたいのですが
Me.コンボ0.BackColor = #00B7EF
とするとコンパイルエラーになってしまいます。

Me.コンボ0.BackColor = 255
なら大丈夫です。

「#00B7EF」はデザインビューの値から持ってきました。
(写真参照)

2003の時は、この方法で行けました。

#00B7EFを数値に変換する方法、
もしくは水色のコードを教えてください。

アドバイスよろしくお願いします。

投稿日時 - 2012-02-24 23:36:47

QNo.7325385

困ってます

質問者が選んだベストアンサー

>2003の時は、この方法で行けました
?本当に
手元の2003でもエラーになりますよ。

そもそもAccessのカラーコードは10進数ですね。
16進数を入れようとしても、そもそも型違いでエラーです。
詳しくはわかりませんが、単純にRGBの指定で数値を作っているようではないですね。
だから、#00B7EFを10進数に変換して、「0 183 239」(実際にはスペースをつめて)と入力しても全然違う色(緑っぽい色)になりますが、そういうのを希望されているわけじゃないですよね?

あくまでもRGBでの色指定のイメージなんですよね?

背景色指定のプロパティ欄の右横に「...」の色パレットを表示するボタンがありますよね?
それをクリックして色指定のダイアログを表示させます。

「色の作成」をクリックすると詳細な色設定の欄が表示されます。
ここの「赤」「緑」「青」の欄に、先の#00B7EFをそれぞれ10進に変換して入力。

赤-0 / 緑-183 / 青-239
ですね。
これで色の追加→OKとクリックしてダイアログを閉じれば、色コードがプロパティに入力されているはずですね。
これで算出されたコードは「15709952」なんですが、これでいいかどうかはご自分で見て確認してください。

Accessをずっと使ってますが、色指定で16進数を使うことはなかったような・・・

投稿日時 - 2012-02-25 00:31:50

お礼

参考になりました。ありがとうございます。

投稿日時 - 2012-03-24 21:16:02

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

> #00B7EFを数値に変換する方法、

最適解かはわからないのですが(汗)、VBAできる値には
以下の関数で変換できます:

RGB(&H00, &HB7, &HEF)

演算結果= 15709952


【解説】
Access2003までは10進数表示でしたが、Access2007
では16進数表示になったようです。
これを、VBAのBackColorなどに使用できるようにするには
上記のようにRGB関数を使用する方法があります。

「#00B7EF」のうち、「#」の後ろ6桁が、実際の数値になり、
左から順に2桁ずつで、それぞれR(赤)、G(緑)、B(青)に
あたります。
そのため、これをRGB関数のそれぞれの引数に割り当てます
が、この値が16進数であることを認識させるため、それぞれの
先頭に「&H」(「H」は「16進数(Hexadecimal)」の頭文字から)
をつけます。

投稿日時 - 2012-02-25 00:18:41

お礼

参考になりました。ありがとうございます。

投稿日時 - 2012-03-24 21:15:52

あなたにオススメの質問