GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルVBA中級編−ユーザーフォームを使いこなす
  ToggleButtonコントロールについて詳しく知ろう!
 
■ ToggleButtonコントロールについて詳しく知ろう


前回に引き続き、ExcelエクセルにおけるUserFormユーザーフォームの解説です。

今回は、ToggleButtonコントロールオブジェクトの解説です。

ToggleButtonコントロール(トグルボタンコントロール)オブジェクト
ある項目が選択されているかどうかを表示するときに使用します。ToggleButtonコントロールをデータソースに連結した場合は、データソースの値には、True/Falseのいずれか選択された値が表示されます。選択された状態ではTrueを、選択されていない状態ではFalseを表します。

既定のプロパティ:Valueプロパティ
既定のイベント:Clickイベント

■ ToggleButtonコントロールオブジェクトのプロパティ

Accelerator:アクセスキー(任意の1文字)を設定します。設定したアクセスキーをAltキーと一緒に押すと、コントロールにフォーカスが移り、ToggleButtonコントロールの状態を変更します。
(例)
  ToggleButton1.Accelerator = "a"
この例では、Alt+a押下でToggleButton1コントロールにフォーカスし、状態を変更するように設定します。

AutoSize:TrueでCaptionしている文字の大きさに合わせて、コントロールの大きさを自動調整します。False(既定値)でコントロールの大きさを固定します(自動調節しません)。

BackColor:コントロールの背景色を設定します。背景色はRGB関数、整数、定数で指定することが可能です。コントロールの背景スタイルがFmBackStyleOpaqueになっている必要があります。
BackStyle:コントロールの背景スタイルを設定します。0 - fmBackStyleTransparentで背景を透明に、1 - FmBackStyleOpaqueで背景を不透明にします。既定値は1です。
(例)
  ToggleButton1.BackStyle = fmBackStyleTransparent
この例では、ToggleButton1コントロールの背景を透明にしています。

Caption:コントロールに表示する文字列を設定します。
(例)
  ToggleButton1.Caption = "test"
この例では、ToggleButton1コントロールに"test"の文字列を表示します。

ControlSource:コントロールのValueプロパティにリンクさせるExcelワークシートのセル範囲を指定します。
(例)
  ToggleButton1.ControlSource = "a1"
この例では、ToggleButton1コントロールのValueプロパティがA1セルにリンクしています。ToggleButton1コントロールの初期値にA1セルの値が設定され、ToggleButton1コントロールの値を変更するとA1セルの値も変わります。

ControlTipText:マウスポインタをコントロール上に置いたとき、表示する文字列を設定します。

Enabled:ToggleButtonコントロールの場合、Trueで通常の表示と操作ができます、Falseで淡色表示となり、イベントに応答しなくなります。

Font:コントロールで表示するテキスト属性を設定します。
ForeColor:コントロールの前景色を指定します。ToggleButtonコントロールの場合、表示されるCaptionの文字色を設定します。

HeightWidth:コントロールの高さ、幅をポイント単位で指定します。
LeftTop:コントロールの位置をフォーム左端、上端からの距離を基準に設定します。

Locked:コントロールを編集可能にするかどうかを設定します。Trueで編集不可、False(既定値)編集可になります。編集不可になっていてもEnabledプロパティがTrueに設定されていればイベントが発生しフォーカスを取得することが可能です。

MousePointerMouseIcon:コントロールの上にカーソルを置いたときに表示する形状を設定します。MouseIconはMousePointerが99-fmMousePointerCustomのときに、表示する画像をLoadPicture関数で読み込みます。
(例)
  ToggleButton1.MousePointer = fmMousePointerHourGlass
この例では、コントロールにカーソルを合わせるとカーソル形状が砂時計に変更されます。

  ToggleButton1.MousePointer = fmMousePointerCustom
  ToggleButton1.MouseIcon = LoadPicture("C:\test.ico")
この例では、コントロールにカーソルを合わせるとC:\にあるtest.icoにカーソル形状が変更されます。

Name:コントロールの名前を設定、取得します。

Parent:指定したコントロールを含む親オブジェクトを操作します。
(例)
  ToggleButton1.Parent.BackColor = vbRed
この例では、ToggleButton1コントロールが配置されている親オブジェクト(UserFormやFrameなど)の背景色を赤に変更します。

Picture:オブジェクトの上に表示するビットマップ画像を設定します。画像の読み込みにはLoadPicture関数を使う必要があります。
PicturePosition:ピクチャとキャプションの位置を設定します。
(例)
  ToggleButton1.Picture = LoadPicture("C:\001.bmp")
この例では、ToggleButton1コントロール上にC:\にある001.bmpが読み込まれます。

SpecialEffect:コントロールの表示スタイルを設定します。

TabIndex:タブオーダー内の順番を設定します。先頭のインデックスは0 です。
TabStop:FalseにするとTab キーによるフォーカス移動の際、このオブジェクトをスキップします。

TripleState:ToggleButtonコントロールで、Null値の状態を指定できるようにするかどうかを設定します。TrueでToggleButtonは、3つの状態をサポートします。False(既定値)でToggleButtonは、真/偽の2つの状態のみをサポートします。 
Value:項目が選択されているかどうかを表す整数値を表します。
  Null  選択でもクリアでもない、Null値の状態を表します。 
  -1   真、項目が選択されていることを表します。 
   0   偽、項目が選択されていないことを表します。 
Tag:コントロールに補足的な情報(文字列)を設定、取得できます。
(例)
  Private Sub UserForm_Initialize()
    ToggleButton1.TripleState = True
  End Sub

  Private Sub ToggleButton1_Change()
    If IsNull(ToggleButton1.Value) Then
      ToggleButton1.Caption = "値はNullです"
    ElseIf Not ToggleButton1.Value Then
      ToggleButton1.Caption = "値はFalseです"
    ElseIf ToggleButton1.Value Then
      ToggleButton1.Caption = "値はTrueです"
    End If
  End Sub
この例では、ToggleButton1コントロールは3つの状態を保持します。ToggleButton1をクリックするごとにNull>True>Falseの状態が切り替わります。TripleStateプロパティをFalseにした場合は、ToggleButton1はTrue、Falseの2つの状態のいずれかを保持します。

Visible:オブジェクトの表示・非表示を設定します。Trueで表示、Falseで非表示です。

■ ToggleButtonコントロールオブジェクトのメソッド

Move:コントロールを移動します。
(例)
  ToggleButton1.Move 100, 50, 200, 150
この例では、ToggleButton1コントロールをUserFormの左端から100、上端から50ポイントの位置に移動させ、幅200、高さ150ポイントで表示します。

SetFocus:コントロールにフォーカスを移します。
ZOrder:指定されたオブジェクトのZオーダーを変更します。fmTopでその他のコントロールの最前面に、fmBottomでその他のコントロールの最背面に表示します。



■ ToggleButtonコントロールオブジェクトのイベント

Click:コントロールをマウスでクリックしたとき発生します。
DblClick:コントロールをダブルクリックしたとき発生します。
(例)
  ToggleButton1.ForeColor = vbBlue
この例では、ToggleButton1コントロールをクリックしたとき、Captionの文字色を青色に変更します。

MouseDownMouseUp:MouseDownはマウスボタンを押したとき、MouseUpはマウスボタンを離したときに発生します。
(例)
  Private Sub ToggleButton1_MouseDown(ByVal Button As Integer, _
                        ByVal Shift As Integer, _
                        ByVal X As Single, _
                        ByVal Y As Single)
    UserForm1.Caption = "MouseDown"
  End Sub

  Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _
                        ByVal Shift As Integer, _
                        ByVal X As Single, _
                        ByVal Y As Single)
    UserForm1.Caption = "MouseUp"
  End Sub
この例では、ToggleButton1コントロールをクリックしている間はUserForm1のCaptionに"MouseDown"の表示がされ、クリックを離すと"MouseUp"の表示に変わります。

MouseMove:コントロールの上にカーソルが移動したとき発生します。

Change:コントロールの文字列を変更したときに発生します。
AfterUpdateBeforeUpdate:コントロールの文字列を変更した後、他のコントロールにフォーカスを移したときに発生します。
  AfterUpdateは実際にデータが変更された後に発生します。
  BeforeUpdateは変更を実際にデータが変更される前に発生するため引数CancelにTrueを設定すると、フォーカスは元のコントロールに残り、AfterUpdateイベントもExitイベントも発生しません。
(例)
  Private Sub ToggleButton1_Change()
    Debug.Print "Change"
  End Sub

  Private Sub ToggleButton1_AfterUpdate()
    Debug.Print "AfterUpdate"
  End Sub

  Private Sub ToggleButton1_BeforeUpdate( _
                        ByVal Cancel As MSForms.ReturnBoolean _
                        )
    Debug.Print "BeforeUpdate"
    If IsNull(ToggleButton1.Value) Then
      Cancel = True
    End If
  End Sub
この例では、ToggleButton1コントロールの値が変更されるたびにChangeイベントが発生します。BeforeUpdateイベントで値のNull値をチェックし、Nullの場合は変更をキャンセルします。その他の値の場合は、AfterUpdateイベントが発生します。
※ TripleStateプロパティがTrueである必要があります。

EnterExit:Enterイベントは、同一フォーム上にある別のコントロールからフォーカスを受け取る前に発生します。Exit イベントは、同一フォーム上にある別のコントロールにフォーカスを移す前に発生します。

以上で、ToggleButtonコントロールオブジェクトの解説を終わります。
次回は、CommandButtonコントロールオブジェクトの解説を行います。

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,