15 . コントロールを使う
            - コマンドボタンコントロール
 

コマンドボタンコントロールは、すでにWindowsの操作でおなじみの、「OK」や「はい」「いいえ」「キャンセル」という表示のついたボタンコントロールです。
ボタンの形状や動作を決定するプロパティを多く持ち、ユーザーがボタンを押すことでClickイベントを発生するコントロールです。
ボタンが押された時に処理を実行したい場合は、このClickイベントプロシージャに記述します。
 

@ ボタン表面の文字を設定する
               −Captionプロパティ
書式 使用例
ボタン表面の文字は、コマンドボタンコントロールのCaptionプロパティで設定する。プロパティの値は文字列です。
初期設定はプロパティウィンドウで行うことができます。
コードでプロパティの値を変更する場合は、必ず操作対象のコマンドボタンをコントロールのオブジェクト名で指定します。

 

Object.Caption = 設定文字列

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール


<記述例>
CommandButton1.Caption = "開始"
 
<使用例 ボタンを押すたびにワークシートに配置したボタン表面の文字が入れ替わる>
'この処理はSheet2のコードウィンドウに作成しています
Dim Pos As Boolean

Private Sub Worksheet_Activate()
    Pos = False
    CommandButton1.Caption = "開始"
End Sub

Private Sub CommandButton1_Click()
    If Pos = True Then
        CommandButton1.Caption = "開始"
        Pos = False
    Else
        CommandButton1.Caption = "終了"
        Pos = True
    End If
End Sub

【ワンポイント・アドバイス】
ワークシートに配置したコントロールのイベントプロシージャは、そのシートのコードウィンドウに作成されます。
また、VBEditorのプロパティウィンドウでコントロールのプロパティを操作したい場合は、一度ツールバーの「デザインモード」ボタンを押すと、プロパティウィンドウのオブジェクトリストでコントロールを選択することができます。

 

A ボタンのサイズを文字にあわせる
           −AutoSizeプロパティ
書式 使用例
AutoSizeプロパティを使用すると、ボタンのサイズをボタン表面の文字に合わせることができます。
設定値は論理値で、プロパティウィンドウを使用して設定することもできます。
次の使用例は、標準モジュールに作成したプロシージャから、ワークシートSheet2に配置したコマンドボタンの、AutoSizeプロパティを操作しています。
コントロールを配置したシート以外のコードモジュールからコントロールを操作する場合は、必ず配置先のワークシートをオブジェクト名で指定する必要があります。
Object.AutoSize = 論理値

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール


<記述例>
CommandButton1.AutoSize = True

 

<使用例 ボタンサイズを表面の文字に合わせる>
Sub ボタンサイズの設定()
    Worksheets("Sheet2").CommandButton1.AutoSize = True
End Sub

【ワンポイント・アドバイス】
このコードを実行しても、コマンドボタンのサイズが変わらない場合があります。その時は、一度コマンドボタンを押すとサイズが変更されます。

 

 

B ボタンの色を変える
             −BackColorプロパティ
書式 使用例

コマンドボタンの色は、通常Windowsで設定された色に統一されていますが、BackColorプロパティを使用すると任意の一色に変更できます。
プロパティの値は、直接色の値を16進数で設定するか、QBColor関数やRGB関数を使用して設定します。

【ワン・ポイントアドバイス】
ForeColorプロパティを使用すると、ボタン表面の文字色を変更できます。プロパティの値の設定は、BackColorプロパティと同様です。

 

Object.BackColor = 設定値(色番号

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
CommandButton2.BackColor = &H80FF&

<使用例 ボタンをオレンジ色に変える−16進数で指定>
CommandButton2.BackColor = &H80FF&

<使用例 ボタンを黄色に変える−QBColor関数で指定>
CommandButton2.BackColor = QBColor(14)

<使用例 ボタンをピンクに変える−RGB関数で指定>
CommandButton2.BackColor = RGB(255, 30, 145)

 

C ボタンの有効・無効設定
            −Enabledプロパティ
書式 使用例
コマンドボタンコントロールの有効・無効を設定するのが、Enabledプロパティです。値にFalseをセットすると、ボタン表面の文字がグレー表示になり、ユーザーはそのボタンを押せなくなります。
Trueをセットすれば、操作可能な状態になります。
次の使用例は、ワークシートSheet2に配置した2つのボタンを使い、すでに配置済みの「色変更」ボタン(CommandButton2)の有効・無効を切り替えます。
Object.Enabled = 論理値

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
CommandButton2.Enabled = False
 

<使用例 CommandButton2の有効・無効を切り替える>

Private Sub CommandButton3_Click()
    CommandButton2.Enabled = False '無効
End Sub

Private Sub CommandButton4_Click()
    CommandButton2.Enabled = True '有効
End Sub

 

 

Dボタンにイメージをセットする
            −Pictureプロパティ
書式 使用例
コマンドボタンコントロールのPictureプロパティを使用すると、コマンドボタンの表面にイメージを表示させることができます。
コントロールの初期設定では、プロパティウィンドウを使って直接イメージファイルを指定するが、コードで行う場合は、LoadPicture関数を使用して、Pictureプロパティにイメージファイルをセットする。
使用できる画像フォーマットは、ビットマップ、アイコン、GIF、JPEG、Windowsメタファイルです。
Object.Picture = LoadPicture("画像ファイル名")

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
CommandButton1.Picture = LoadPicture("c:\norika.bmp")

 

次の使用例は、ワークシートSheet2に配置したコマンドボタンを押すと、、配置してあるコマンドボタン「色変更」(CommandButton2)のPictureプロパティに、「Paint_4.ico」というアイコンファイルを、LoadPicture関数を使用して設定する。
配置したコマンドボタン「CommandButton5」は、あらかじめプロパティウィンドウでPictureプロパティにアイコンファイルを設定しています。


<使用例 >
Private Sub CommandButton5_Click()
    Dim Fname As String

    Fname = ActiveWorkbook.Path & "\Paint_4.ico"
    CommandButton2.Picture = LoadPicture(Fname)
End Sub

 

Eイメージの配置位置を設定する
     −PicturePositionプロパティ
書式 使用例
Pictureプロパティで配置したイメージの表示位置や、Captionプロパティで設定したボタン表面の文字との同時表示を設定するプロパティです。
設定値は定数が用意されているので、これを指定する。文字とイメージの配置関係は実際に試して確認してください。
 
Object.PicturePosition = 定数

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
CommandButton1.PicturePosition = fmPicturePositionRightTop

<使用例 コマンドボタンにイメージだけを表示>
CommandButton1.PicturePosition = fmPicturePositionAboveCenter
 

<PicturePositionプロパティの定数>

定数                                        値                 内容
----------------------------------------------------------------------------------------
fmPicturePositionLeftTop            0  キャプションの左側にイメージを表示。キャプションは、イメージの上端に合わせて配置。
fmPicturePositionLeftCenter       1  キャプションの左側にイメージを表示。キャプションは、イメージの中央に合わせて配置。
fmPicturePositionLeftBottom       2  キャプションの左側にイメージを表示。キャプションは、イメージの下端に合わせて配置。
fmPicturePositionRightTop          3   キャプションの右側にイメージを表示。キャプションは、イメージの上端に合わせて配置。
fmPicturePositionRightCenter     4   キャプションの右側にイメージを表示。キャプションは、イメージの中央に合わせて配置。
fmPicturePositionRightBottom     5   キャプションの右側にイメージを表示。キャプションは、イメージの下端に合わせて配置。
fmPicturePositionAboveLeft        6   キャプションの上にイメージを表示。キャプションは、イメージの左端に合わせて配置。
fmPicturePositionAboveCenter    7  キャプションの上にイメージを表示。キャプションは、イメージの中央に合わせて配置 (既定値)。
fmPicturePositionAboveRight       8  キャプションの上にイメージを表示。キャプションは、イメージの右端に合わせて配置。
fmPicturePositionBelowLeft         9  キャプションの下にイメージを表示。キャプションは、イメージの左端に合わせて配置。
fmPicturePositionBelowCenter   10  キャプションの下にイメージを表示。キャプションは、イメージの中央に合わせて配置。
fmPicturePositionBelowRight      11  キャプションの下にイメージを表示。キャプションは、イメージの右端に合わせて配置。
fmPicturePositionCenter           12  コントロールの中央にイメージを表示。キャプションの水平位置はキャプションの中央に
                                                    合わせて、垂直位置はイメージの上に合わせる。

 

Fボタンの表示・非表示を操作する
            −Visibleプロパティ
書式 使用例
コマンドボタンの表示・非表示を切り替えるプロパティです。Enabledが有効・無効を設定するプロパティに対し、Visibleプロパティはコマンドボタンの表示そのものを操作します。
値は論理値で、Falseで非表示、Trueで表示状態になります。
処理の状況でボタンの表示・非表示を切り替えたい場合に使用します。
プロパティウィンドウでコントロールの初期設定を行えます。
Object.Visible = 論理値

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
CommandButton1.Visible = True

<使用例 Sheet1のコマンドボタンを非表示にする>
Sub コマンドボタンの表示非表示()
    Worksheets("Sheet1").CommandButton1.Visible = False
End Sub

 

 

著作・制作   瀬戸 遥   2004/07.