作成日 2004/11/23
最終更新日 2005/10/22

エクセルVBAでカラーボタンをつくる(一つだけ選択可)

 ここでは色を選択するときに使えるボタンを作ろうと思います。
 今回はボタンをフォーム等に2つ以上貼付けた場合、押下済み状態にできるのは1つだけのボタンを作ります。

1.具体的にどんなのものを作るの?
2.ダウンロードして使ってみる

1.具体的にどんなのものを作るの?

 見た目はこんな奴。
カラーボタンの説明図


 作成するプロパティは以下の通り
プロパティ名
プロパティの説明
Add時に省略した時の値
Left
ボタン押下時の左上のx座標
0
Top
ボタン押下時の左上のy座標
0
Height
ボタン押下時のボタンの高さ
21
Width
ボタン押下時のボタンの幅
21
Caption
ボタンに表示する文字列
横位置:中央揃え、縦位置:上詰め(本当は中央揃えにしたい)
""
ColorIndex
ボタンの色(カラーインデックス(1-56)もしくは0で指定する。0で色なし。)
0にしたとき枠線をつける。(ver1.1で追加)
0
ControlTipText
ボタンの上にマウスをのせたときに表示する文字列
""の場合、何も表示しない。
""
Locked
Trueにするとボタンを押下しても、見た目、Valueプロパティの値が変化しなくなる。
False
Value
ボタン押下でTrue、Falseがかわる。
このプロパティを変更すると、ボタンの見た目も変わる。
Trueにすると同じコンテナに貼付けた、同じGroupNameをもつ他のボタンのValueがFalseになる。(同じGroupIDをもつ他のボタンのValueがFalseになる。)
False
GroupName
所属するグループ名。
OptionButtonのGroupNameプロパティと同じ(はず)。
""
GroupID コンテナクラスオブジェクトのポインタ文字列とGroupNameを連結したもの。
読み取り専用。
本来ならPrivateにするべきだけど、publicにせざるを得なかった。基本的に使うな。
mdlColorButton_unique.updateValueメソッドが使う。
-

 作成するメソッドは以下の通り
メソッド名
メソッドの説明
Add
コントロールをコンテナオブジェクトに貼付ける。
※既に貼付けていた場合や、引数が不正だった場合はエラーとし、貼付けはしない。
Delete
コントロールをコンテナオブジェクトから削除する。
※既に削除済みの場合は何もしない。

このページのトップへ

2.ダウンロードして使ってみる

ここ(ver1.1)をクリックしてダウンロードだ!

白と黒のボタンはどっちか片方しか選択できないはず。
赤と緑のボタンは他のボタンと関係なく選択できる。
理由:
赤のボタンは、他のボタンとはGroupNameが違う。(⇒GroupIDが違う)
緑のボタンは、他のボタンとは貼付いているコンテナクラスオブジェクトが違う。(⇒GroupIDが違う)
Prev Up Next  Top
このページのトップへ

このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。