プロパティの使い方 [ExcelのVBA]
プロパティを表示する
はじめにVB/VBAの開発画面を起動します。
次に「プロパティ」ウインドウを表示します。この「プロパティ」ウインドウは標準では非表示の状態ですので手動で表示させる必要があります。
「プロパティ」ウインドウは「表示」メニューの「プロパティウインドウ」をクリックすると表示されます。
プロパティの切り替え
次の図のようにCommandBottun、Label、TextBoxをユーザーフォームに配置します。
CommandBottun、Label、TextBoxの中で任意に一つ選択するとプロパティウインドウに選択されたコントロールのプロパティが表示されます。
また、CommandBottun、Label、TextBox以外の部分を選択するとユーザーフォームのプロパティが表示されます。
それ以外の方法としては「プロパティ」ウインドウにあるコンボボックスからもプロパティを切り替える事が可能です。
プロパティの使い方
プロパティの使い方としてはプロパティの右側にある項目を変更するだけです。また、プロパティを変更しても設計時には変化しないプロパティもあります。その場合は確認する為に実行をする必要があります。
実行の仕方は「ユーザーフォームの設計画面」または「コード」をアクティブにしてから実行をします。
[ユーザーフォームの設計画面]
[コード]
それ以外で実行をするとVBAの場合は「マクロの実行」になってしまいますので注意して下さいね。
プロパティのヘルプを表示する
使い方がわからないプロパティの項目を選択後に「F1」キーを押すとマイクロソフトのヘルプページが開きます。
次は「Accelerator」の項目で「F1キー」を押した例です。
マイクロソフトのヘルプページの応答速度はちょっと遅いです:-)
各コントロールの共通プロパティ
各コントロールの共通プロパティの解説です。共通といってもここで紹介する全てのプロパティが各コントロールにあるわけではなく、コントロールによってはプロパティが存在しない場合があります。
(オブジェクト名)
オブジェクト名の項目はオブジェクト(コントロール)名を変更する事が出来ます。業務などですと目的にあった名称に変更します。ただ、慣れていない方や目的によっては必ずしも変更する必要はありません。
Caption/Text
Captionはフォームやコマンドボタン、ラベルなどの表示文字を変更します。テキストボックスの場合はCaptionプロパティがないですのでTextプロパティで変更します。
[コード例]
Private Sub CommandButton1_Click() CommandButton1.Caption = "プチモンテ" TextBox1.Text = "プチモンテ" End Sub
[結果]
Height/Width/Top/Left
Height/Widthはコントロールの「高さ、横幅」です。Top/Leftはコントロールの「表示位置(画面の上幅)、表示位置(画面の左幅)」です。
これらのプロパティは設計時にマウスでも変更可能です。
Visible
Visibleはコントロールの表示/非表示の切り替えです。Falseにするとコントロールが非表示になります。
[コード例]
Private Sub CommandButton1_Click() CommandButton1.Visible = False End Sub
[結果]
Enabled
Enabledはコントロールの使用可能状態(オン/オフ)の切り替えです。オフ(False)にするとコントロールが使用できなくなります。
[コード例]
Private Sub CommandButton1_Click() CommandButton1.Enabled = False End Sub
[結果]
Font
Fontはコントロールのフォントを設定します。
[コード例]
Private Sub CommandButton1_Click() ' 太字にする CommandButton1.Font.Bold = True ' 斜体にする CommandButton1.Font.Italic = True ' フォントサイズを15にする CommandButton1.Font.Size = 15 ' 下線を引く CommandButton1.Font.Underline = True End Sub
[結果]
ForeColor
ForeColorはコントロールの文字色を設定します。
[コード例]
Private Sub CommandButton1_Click() ' 表示色を赤色にする CommandButton1.ForeColor = vbRed End Sub
[結果]
※vbRedはカラー定数です。カラー定数は次の表を参考にして下さい。
定数 | 色 |
---|---|
vbBlack | 黒 |
vbRed | 赤 |
vbGreen | 緑 |
vbYellow | 黄 |
vbBlue | 青 |
vbMagenta | マゼンタ |
vbCyan | シアン |
vbWhite | 白 |
また、RGB関数でRGBカラー(16,777,216色)を使用する事も可能です。
BackColor
BackColorはコントロールの背景色を設定します。
[コード例]
Private Sub CommandButton1_Click() ' 背景を赤色にする CommandButton1.BackColor = vbRed End Sub
[結果]
BackStyle
BackStyleはコントロールの背景のスタイルを設定します。
[コード例]
Private Sub CommandButton1_Click() ' 背景を透明にする TextBox1.BackStyle = fmBackStyleTransparent End Sub
[結果]
BorderColor/BorderStyle
BorderColorはコントロールの枠線の色を設定します。また、BorderStyleはコントロールの枠線のスタイルを設定します。
[コード例]
Private Sub CommandButton1_Click() ' 枠線のスタイルをfmBorderStyleSingleにする Label1.BorderStyle = fmBorderStyleSingle ' 枠線の色を青色にする Label1.BorderColor = vbBlue End Sub
[結果]
ControlTipText
ControlTipTextはコントロールのヒントを設定します。ヒントとは対象のコントロールの上でマウスを停止すると表示されるテキストの事です。
[コード例]
Private Sub CommandButton1_Click() ' コントロールチップの設定 CommandButton1.ControlTipText = "プチモンテ" End Sub
[結果]
AutoSize
AutoSizeはコントロールのサイズを自動的に文字列に合わせます。
[コード例]
Private Sub CommandButton1_Click() ' 自動サイズ設定 CommandButton1.AutoSize = True End Sub
[結果]
Picture
Pictureはコントロールに画像を貼り付けます。
[コード例]
Private Sub CommandButton1_Click() ' 画像ファイルを読み込む CommandButton1.Picture = LoadPicture("C:\test.gif") End Sub
※純粋に画像を読み込む場合はイメージコントロールを使用すると良いです。
Accelerator
Acceleratorはコントロールのショートカットキーを設定します。英数字1文字を設定可能です。実行時にはAlt+設定したキーで実行できます。
[コード例]
Private Sub CommandButton1_Click() If (CommandButton1.Accelerator = "") Then ' ショートカットキーの設定 (Altキー + aキー) CommandButton1.Accelerator = "a" Else MsgBox "ボタンが押されました。" End If End Sub
※一度、コマンドボタンを押した後に「Alt+a」キーを押してください。
TabIndex
TabIndexは実行時にタブキーを押した時のフォーカスの順番(0,1,2...)です。フォーカスとはコントロールがアクティブになる事です。
Tag
Tagは任意の文字列を格納できます。
[コード例]
Private Sub CommandButton1_Click() ' タグに文字列を設定 CommandButton1.Tag = "プチモンテ" ' コマンドボタンのキャプションの変更 CommandButton1.Caption = CommandButton1.Tag End Sub
ControlSource/RowSource
ControlSource/RowSourceはエクセルのシートからデータを取り込む際に使用します。
[コード例]
Private Sub CommandButton1_Click() ' リストボックスにシートのデータを設定する ListBox1.RowSource = "Sheet1!A1:A3" ' テキストボックスにシートのデータを設定する TextBox1.ControlSource = "Sheet1!B1" End Sub
[シート]
[結果]
Visual Basicのコントロール
共通操作 プロパティの使い方 イベントの使い方 |
ラベル | |
テキストボックス | |
コンボボックス | |
リストボックス | |
チェックボックス | |
オプションボタン | |
トグルボタン | |
フレーム | |
コマンドボタン | |
タブストリップ | |
マルチページ | |
スクロールバー | |
スピンボタン | |
イメージ | |
ユーザーフォーム |