Copyright: Copyright(c) 1996 Microsoft Corporation.
Citation: Copyright(c) 1996 Microsoft Corporation.


チェック ボックス (CheckBox) コントロール

項目の選択状態を表示します。

解説

チェック ボックスは、"はい/いいえ"、"真 (True)/偽 (False)"、"オン/オフ" のような 2 つの状態を切り替えるときに使います。チェック ボックスを選択すると、チェック マークが表示され、設定値は "はい"、"真 (True)"、または "オン"となります。一方、チェック ボックスの選択を解除すると、チェック マークの表示は消えて、設定値は "いいえ"、"偽 (False)"、または "オフ"になります。TripleState プロパティの設定により、設定値として Null 値を持たせることもできます。

チェック ボックス (CheckBox) コントロールをデータ ソースに連結した場合は、チェック ボックス (CheckBox) コントロールの設定値を変更すると、データ ソースの値が変更されます。チェック ボックス (CheckBox) コントロールが無効になっている場合、現在の状態は表示されますが、淡色表示され、ユーザー インターフェイスからそのチェック ボックスの状態を変更することはできません。

関連する項目群の中から複数の項目を選択する場合には、グループ ボックスの中に複数のチェック ボックス (CheckBox) コントロールを配置します。たとえば、取扱商品の一覧を並べて、各商品名の前にチェック ボックス (CheckBox) コントロールを配置すると、注文フォームを作成できます。ユーザーは、該当する商品のチェック ボックスをクリックすることにより、その商品を選択できます。

チェック ボックス (CheckBox) コントロールの既定のプロパティは、Value プロパティです。

チェック ボックス (CheckBox) コントロールの既定のイベントは、Click イベントです。

メモ  リスト ボックス (ListBox) コントロールも、オプションの選択によりチェック マークを持たせることができます。目的に応じて、チェック ボックス (CheckBox) コントロールをグループ化して使う代わりにリスト ボックス (ListBox) コントロールを使用できます。


コンボ ボックス (ComboBox) コントロール

リスト ボックス (ListBox) コントロールとテキスト ボックス (TextBox) コントロールの機能を組み合わせたコントロールです。このため、テキスト ボックス (TextBox) コントロールのように新しい値を直接入力することも、リスト ボックス (ListBox) コントロールのように選択肢の一覧から値を選択することもできます。

解説

コンボ ボックス (ComboBox) コントロールをデータ ソースに連結した場合、ユーザーが入力または選択した値は、データ ソースに挿入されます。複数列のコンボ ボックス (ComboBox) コントロールをデータ ソースに連結した場合、どの値がそのデータ ソースに格納されるかは、BoundColumn プロパティによって決まります。

コンボ ボックス内のリストは、データの行により構成されます。各行は複数列にすることもでき、列見出しを設定することもできます。アプリケーションによっては、列見出しをサポートしていない場合や、機能が制限されている場合があります。

コンボ ボックス (ComboBox) コントロールの既定のプロパティは、Value プロパティです。

コンボ ボックス (ComboBox) コントロールの既定のイベントは、Change イベントです。

メモ  常に複数行のリストを表示させる場合は、コンボ ボックス (ComboBox) コントロールではなく、リスト ボックス (ListBox) コントロールを使ってください。コンボ ボックス (ComboBox) コントロールを使って、選択をリスト内の項目のみに限定したい場合には、ドロップダウンしたリスト ボックスとなるようにコンボ ボックス (ComboBox) コントロールの Style プロパティを設定してください。


コマンド ボタン (CommandButton) コントロール

処理の開始、終了、中断など一連の処理を行います。

解説

コマンド ボタン (CommandButton) コントロールが行う処理は、コマンド ボタン (CommandButton) コントロールの Click イベントに割り当てられたマクロまたはイベント プロシージャの内容により決定されます。たとえば、ほかのフォームを開くコマンド ボタン (CommandButton) コントロールを作成できます。コマンド ボタン (CommandButton) コントロールは、テキスト、ピクチャ、またはその両方を表示することもできます。

コマンド ボタン (CommandButton) コントロールの既定のプロパティは、Value プロパティです。

コマンド ボタン (CommandButton) コントロールの既定のイベントは、Click イベントです。


フレーム (Frame) コントロール

外観や機能別にコントロールをグループ分けすることができます。

解説

フレーム (Frame) コントロールの中にオプション ボタン (OptionButton) コントロールを配置すると、選択できるオプション ボタンは常にいずれか 1 つとなるオプション ボタンのグループを作成できます。たとえば、顧客の注文を処理するアプリケーションで、顧客の名前、住所、顧客番号をグループ化する場合などにも使用できます。

フレーム (Frame) コントロールを使って、トグル ボタン (ToggleButton) コントロールのグループを作成することもできます。この場合は、オプション ボタン (OptionButton) コントロールのグループとは異なり、一度に複数のボタンを選択することができます。

フレーム (Frame) コントロールの既定のイベントは、Click イベントです。


イメージ (Image) コントロール

フォーム上に画像を表示します。

解説

イメージ (Image) コントロールを使うと、フォーム上にデータとして、画像を表示できます。たとえば、社員名簿で社員の写真を表示することができます。

イメージ (Image) コントロールでは、画像のトリミングやサイズ変更、拡大縮小は可能ですが、画像の内容を編集することはできません。たとえば、画像の色を変えたり、画像を透明にしたり、画像に手を加えることはできません。これらの処理を行うには、ペイントなどのイメージ編集アプリケーションが必要です。

イメージ (Image) コントロールでは、次のようなファイル フォーマットがサポートされています。

•	*.bmp

•	*.cur

•	*.gif

•	*.ico

•	*.jpg

•	*.wmf

メモ  画像は、ラベル (Label) コントロールでも表示できます。ただし、ラベル (Label) コントロールでは、画像のトリミングやサイズ変更、拡大縮小はできません。

イメージ (Image) コントロールの既定のイベントは、Click イベントです。


リスト ボックス (ListBox) コントロール

選択肢の一覧を表示し、その中から 1 つまたは複数の項目を選択できます。

解説

リスト ボックス (ListBox) コントロールをデータ ソースに連結した場合、選択された値はデータ ソースに格納されます。

リスト ボックス (ListBox) コントロールは、選択肢の一覧として表示したり、オプション ボタンまたはチェック ボックスの集まりとして表示したりすることができます。

リスト ボックス (ListBox) コントロールの既定のプロパティは、Value プロパティです。

リスト ボックス (ListBox) コントロールの既定のイベントは、Click イベントです。

メモ   ドロップダウンしたリスト ボックス内に文字列をドロップすることはできません。


マルチ ページ (MultiPage) コントロール

1 つのコントロールに複数のページを持たせることで、情報をグループにまとめて表示できます。

解説

マルチ ページ (MultiPage) コントロールは、いくつかのカテゴリに分類できる大きな情報を扱う場合に便利です。たとえば、社員名簿の情報を表示する例を考えてみます。あるページには名前と住所などの個人情報を表示し、別のページには退職した社員一覧を表示し、さらに別のページには参考事項を表示することが可能です。マルチ ページ (MultiPage) コントロールを使うと、関連する情報を視覚的に結び付けることができ、さらにレコード全体に容易にアクセスできます。

メモ  マルチ ページ (MultiPage) コントロールは、Page オブジェクトの集合である Pages コレクションのコンテナです。

マルチ ページ (MultiPage) コントロールの既定のプロパティは、Value プロパティです。この Value プロパティは、マルチ ページ (MultiPage) コントロールの Pages コレクションの中に含まれる、現在アクティブな Page オブジェクトのインデックスを返します。

マルチ ページ (MultiPage) コントロールの既定のイベントは、Change イベントです。


オプション ボタン (OptionButton) コントロール

複数の選択項目を持つグループの中から、1 つの項目だけが選択されている状態を表示します。

解説

オプション ボタン (OptionButton) コントロールは、あるグループの中から 1 つの項目が選択されているかどうかを表します。フレーム (Frame) コントロール内にオプション ボタン (OptionButton) コントロールを配置すると、選択できるオプション ボタンは常にいずれか 1 つだけとなります。

オプション ボタン (OptionButton) コントロールをデータ ソースに連結した場合、オプション ボタンは、データ ソースの値を "はい/いいえ"、"真 (True)/偽 (False)"、"オン/オフ"のいずれかで表します。オプション ボタン (OptionButton) コントロールは、選択された状態では、"はい"、"真 (True)"、"オン"のいずれかの値を表し、選択されていない状態では、"いいえ"、"偽 (False)"、"オフ"のいずれかの値を表します。たとえば、在庫管理アプリケーションでは、商品の在庫があるかどうかをオプション ボタンで示すことができます。オプション ボタン (OptionButton) コントロールがデータ ソースに連結されている場合は、オプション ボタン (OptionButton) コントロールのオン/オフにより、データ ソースの値が変更されます。オプション ボタン (OptionButton) コントロールを無効にすると淡色表示になり、値は表示されません。

TripleState プロパティの設定により、設定値としてオプション ボタン (OptionButton) コントロールに Null 値を持たせることもできます。

関連する項目群の中から 1 つの項目を選択する場合には、グループの中にオプション ボタン (OptionButton) コントロールを配置します。たとえば、取扱商品の一覧を並べて、各商品名の前にオプション ボタン (OptionButton) コントロールを配置すると、注文フォームを作成できます。ユーザーは、希望する商品のオプション ボタンをオンにすることにより、その商品を選択できます。

オプション ボタン (OptionButton) コントロールの既定のプロパティは、Value プロパティです。

オプション ボタン (OptionButton) コントロールの既定のイベントは、Click イベントです。


スクロール バー (ScrollBar) コントロール

スクロール ボックスの位置を移動させることにより、別のコントロールに値を設定します。値の取得も可能です。

解説

スクロール バー (ScrollBar) コントロールは、フォーム上に配置した別のコントロールから独立して操作できるコントロールです。外観は、リスト ボックス (ListBox) コントロールや、コンボ ボックス (ComboBox) コントロールのドロップダウンする部分にあるスクロール バーと似ていますが、これらのスクロール バーとは異なり、スクロール バー (ScrollBar) コントロールは独立したコントロールです。

スクロール バー (ScrollBar) コントロールと別のコントロールの状態を連動させるには、スクロール バー (ScrollBar) コントロールのイベントとメソッドに対して、コードを記述する必要があります。たとえば、スクロール バー (ScrollBar) コントロールを使って、テキスト ボックス (TextBox) コントロールの値を変更するには、スクロール バー (ScrollBar) コントロールの Value プロパティの値を取得して、テキスト ボックス (TextBox) コントロールの Value プロパティに値を設定するコードを記述します。

スクロール バー (ScrollBar) コントロールの既定のプロパティは、Value プロパティです。

スクロール バー (ScrollBar) コントロールの既定のイベントは、Change イベントです。

メモ  スクロール バーの縦横の向きを変えるには、スクロール バーのサイズ変更ハンドルを縦方向または横方向にドラッグします。


スピン ボタン (SpinButton) コントロール

数値を増減させることができます。

解説

スピン ボタン (SpinButton) コントロールをクリックしたときに変更されるのは、スピン ボタン (SpinButton) コントロールの値だけです。別のコントロールに表示される値を変更するには、スピン ボタン (SpinButton) コントロールを使用するコードを記述します。たとえば、スピン ボタンを使って、日付の年、月、日を変更することができます。また、ある範囲内で値を変化させたり、一覧から項目を選択するほか、テキスト ボックスに表示された値を変更する場合にも使用できます。

スピン ボタンを使って、変更した値を表示するには、ラベル (Label) コントロールの Caption プロパティやテキスト ボックス (TextBox) コントロールの Text プロパティなど、コントロールの表示部分にスピン ボタンの値を代入する必要があります。スピン ボタンの縦横の向きを変えるには、スピン ボタンのサイズ ハンドルを縦方向または横方向にドラッグします。

スピン ボタン (SpinButton) コントロールの既定のプロパティは、Value プロパティです。

スピン ボタン (SpinButton) コントロールの既定のイベントは、Change イベントです。


タブ ストリップ (TabStrip) コントロール

関連する複数のコントロールを見易いようにグループ分けして、表示することができます。

解説

タブ ストリップ (TabStrip) コントロールを使うと、同じコントロールを使用しながら、表示させる情報を切り替えることができます。

たとえば、ある社員グループのスケジュールを表示するフォームを作成し、同じグループ内の別の社員の情報も表示できます。この場合は、各タブのタイトルに社員の名前を設定し、タブをクリックしたときにコントロールの表示内容が対応する社員の情報になるようにコードを記述します。

メモ  タブ ストリップ (TabStrip) コントロールは、Tab オブジェクトの集合である Tabs コレクションのコンテナです。

タブ ストリップ (TabStrip) コントロールの既定のプロパティは、SelectedItem プロパティです。

タブ ストリップ (TabStrip) コントロールの既定のイベントは、Change イベントです。


テキスト ボックス (TextBox) コントロール

テキスト ボックス (TextBox) コントロールを使うと、ユーザーが入力した情報を表示したり、整理された一連のデータを表示することができます。

解説

テキスト ボックス (TextBox) コントロールは、ユーザーが入力した情報を表示するときに最もよく使用されるコントロールです。テーブル、クエリー、ワークシート、および計算結果など一連のデータの表示にも使用できます。テキスト ボックス (TextBox) コントロールをデータ ソースに連結した場合は、テキスト ボックスの内容を変更すると、データ ソースの値も変更されます。

テキスト ボックス (TextBox) コントロール内のテキストに適用した書式は、コントロール内のすべてのテキストに影響します。たとえば、コントロール内のある文字のフォントやサイズを変更すると、コントロール内のすべての文字に対して変更が及びます。

テキスト ボックス (TextBox) コントロールの既定のプロパティは、Value プロパティです。

テキスト ボックス (TextBox) コントロールの既定のイベントは、Change イベントです。


トグル ボタン (ToggleButton) コントロール

ある項目の選択状態を表示します。

解説

トグル ボタン (ToggleButton) コントロールは、ある項目が選択されているかどうかを表示するときに使用します。トグル ボタン (ToggleButton) コントロールをデータ ソースに連結した場合は、データ ソースの現在の値には、"はい/いいえ"、"真 (True)/偽 (False)"、"オン/オフ"、または 2 つの設定値のいずれか選択された値が表示されます。トグル ボタンは、選択された状態では、"はい"、"真 (True)"、"オン" のいずれかの値を表し、選択されていない状態では、"いいえ"、"偽 (False)"、"オフ" のいずれかの値を表します。トグル ボタン (ToggleButton) コントロールがデータ ソースに連結されている場合は、トグル ボタンのオン/オフによりデータ ソースの値が変更されます。トグル ボタン (ToggleButton) コントロールが無効になっている場合、現在の状態は示されますが、淡色表示され、ユーザー インターフェイスからその状態を変更することはできません。

関連する項目群の中から 1 つの項目を選択する場合には、フレーム (Frame) コントロールの中にトグル ボタン (ToggleButton) コントロールを配置します。たとえば、取扱商品の一覧を並べて、各商品名の前にトグル ボタンを配置すると、注文フォームを作成できます。ユーザーは、希望する商品のトグル ボタンを選択することにより、その商品を選択できます。

トグル ボタン (ToggleButton) コントロールの既定のプロパティは、Value プロパティです。

トグル ボタン (ToggleButton) コントロールの既定のイベントは、Click イベントです。


DataObject オブジェクト

データ転送操作により転送された書式付きテキスト データが格納される領域です。DataObject オブジェクトに格納されているテキストに対応するデータ フォーマットのリストも保持されます。

解説

DataObject オブジェクトは、クリップボード テキスト形式のテキストを 1 つと、それ以外のテキスト形式のテキスト (カスタム形式やユーザー定義形式など) を、各テキスト形式ごとに 1 つずつ保持できます。

DataObject オブジェクトは、クリップボードとは異なります。DataObject オブジェクトは、クリップボード関連のコマンドと、テキストに対するドラッグ アンド ドロップ操作関連のコマンドをサポートしています。クリップボード関連の操作 (GetText など) やドラッグ アンド ドロップ操作を開始すると、操作対象のデータは DataObject オブジェクトに移動されます。

DataObject オブジェクトは、クリップボードと似た働きをします。テキスト文字列を DataObject オブジェクトにコピーすると、DataObject オブジェクトにそのテキスト文字列が格納されます。2 つ目の同じ形式のテキスト文字列を DataObject オブジェクトにコピーすると、最初のテキスト文字列は破棄され、2 つ目のテキストのコピーが DataObject オブジェクトに格納されます。DataObject オブジェクトには、同一形式のテキスト文字列の場合、最後にコピーされたテキストのみが保持されます。


Font オブジェクト

コントロールやフォームで使用されるテキストの特性を定義します。

解説

コントロールやフォームは、それぞれ独自の Font オブジェクトを持っており、表示されるテキストの特性を個別に設定できます。フォント名の指定、太字や下線の設定、フォントのサイズの設定には、Font プロパティを使用してください。

メモ  フォームまたはコンテナの Font プロパティは、その上に配置したコントロールに既定のフォント属性として継承されます。

Font オブジェクトの既定のプロパティは、Name プロパティです。Name プロパティに Null の文字列が含まれていると、Font オブジェクトはシステムで既定のフォントを使用します。


ラベル (Label) コントロール

コントロールを説明するテキストを表示します。

解説

ラベルは、タイトルやキャプション、ピクチャ、簡単な指示のような説明のテキストを表示するために使用します。たとえば、住所録では、"名前"、"住所"、"電話番号" のようなラベルを使用します。ラベル (Label) コントロールには、データ ソースや式の値は表示されません。ラベル (Label) コントロールは、常に非連結で、また、レコード間を移動しても内容は変化しません。

ラベル (Label) コントロールの既定のプロパティは、Caption プロパティです。

ラベル (Label) コントロールの既定のイベントは、Click イベントです。


Page オブジェクト

マルチ ページ (MultiPage) コントロールの各ページであり、Pages コレクションの各メンバです。

解説

各 Page オブジェクトには、コントロールを配置することができます。Page オブジェクトは、そのコンテナのプロパティのいくつかを継承します。継承されたプロパティの値は、コンテナで設定されます。

各 Page オブジェクトは、Pages コレクション内で重複しない名前とインデックス値を持っています。Page オブジェクトを参照するには、名前またはインデックス値を使用します。コレクション内の先頭の Page オブジェクトのインデックス値は 0 で、2 番目の Page オブジェクトのインデックス値は 1 になります。以下同様に続きます。2 つの Page オブジェクトが同じ名前を持っている場合には、インデックス値を使って参照する必要があります。コードから名前で参照すると、その名前が使われている最初の Page オブジェクトのみ参照できます。

先頭の Page オブジェクトの名前は、既定値で Page1 になり、2 番目の Page オブジェクトの名前は Page2 となります。


Tab オブジェクト

Tab オブジェクトは、Tabs コレクションの個別のメンバです。

解説

Tab オブジェクトの外観は、コントロール上部の見出し、またはコントロールに沿って配置されたボタンとして表示されます。

Page オブジェクトとは異なり、Tab オブジェクトはコンテナではありません。タブ ストリップ (TabStrip) コントロールの内部領域に表示されるコントロールのコンテナは、タブ ストリップ (TabStrip) コントロールと同じくフォームです。

各 Tab オブジェクトはそれぞれ個別にプロパティを持っていますが、メソッドやイベントは持っていません。したがって、Tab オブジェクトに対して処理を行うときは、対応するタブ ストリップ (TabStrip) コントロールのイベントを使用する必要があります。

各 Tab オブジェクトは、Tabs コレクション内で重複しない名前とインデックス値を持っています。Tab オブジェクトを参照するには、名前またはインデックス値を使用します。先頭の Tab オブジェクトのインデックス値は 0 で、2 番目の Tab オブジェクトのインデックス値は 1 になります。以下同様に続きます。2 つの Tab オブジェクトが同じ名前を持っている場合には、インデックス値を使って各 Tab オブジェクトを参照する必要があります。コードから名前で参照すると、その名前が使われている最初の Tab オブジェクトのみ参照できます。


Controls コレクション

あるオブジェクト内のすべてのコントロールが含まれるコレクションです。

解説

オブジェクトの Controls コレクション内の各コントロールは、それぞれ重複しないインデックス値 (整数または文字列) を持っています。コレクション内の先頭のコントロールのインデックス値は 0 で、2 番目のコントロールのインデックス値は 1 になります。この値は、コントロールがコレクションに追加された順序を表します。

文字列のインデックスは、そのコントロールの名前です。コントロールの Name プロパティも、コントロールの名前を指定しています。

Controls コレクションは、コレクション内のすべてのコントロールに対する操作やコントロールの数の取得、プロパティの設定に使用できます。たとえば、特定のフォームの Controls コレクションに対して操作を行うことで、すべてのコントロールの Height プロパティを指定した値に設定することができます。

メモ  コレクション内のすべてのコントロールに対する操作には、For Each...Next ステートメントを使うと便利です。


Pages コレクション

Pages コレクションには、マルチ ページ (MultiPage) コントロールのすべてのページが含まれます。

解説

各 Pages コレクションは、コレクション内のページ数を管理する機能と、現在使用中のページを識別する機能を持っています。

各 Page オブジェクトは、Pages コレクション内で重複しない名前とインデックス値を持っています。Page オブジェクトを参照するには、名前かインデックス値を使います。コレクション内の先頭の Page オブジェクトのインデックス値は 0 で、2 番目の Page オブジェクトのインデックス値は 1 です。また、先頭のページの名前は、初期状態で Page1になり、2 番目のページの名前は Page2 となります。

Pages コレクションの既定値は、現在アクティブな Page オブジェクトを表します。


Tabs コレクション

Tabs コレクションには、タブ ストリップ (TabStrip) コントロールのすべての Tab オブジェクトが含まれます。

解説

各 Tabs コレクションは、コレクション内のタブの数を管理する機能と、現在使用中のタブを識別する機能を持っています。

Tabs コレクションの既定値は、現在アクティブな Tab オブジェクトを表します。

各 Tab オブジェクトは、Tabs コレクション内で重複しない名前とインデックス値を持っています。Tab オブジェクトを参照するには、名前またはインデックス値を使用します。インデックス値は、コレクション内での Tab オブジェクトの位置を表します。先頭の Tab オブジェクトのインデックス値は 0 で、2 番目の Tab オブジェクトのインデックス値は 1 になります。


Microsoft Forms オブジェクト モデルの全体像


AddControl イベント

フォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールの Page オブジェクトにコントロールを挿入すると発生します。

構文

フレーム コントロールの場合
Private Sub object_AddControl( )

マルチ ページ コントロールの場合
Private Sub object_AddControl( index As Long, ctrl As Control)

AddControl イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。新しいコントロールの挿入先となる Page オブジェクトのインデックスを指定します。
ctrl	必ず指定します。追加するコントロールを指定します。
解説

AddControl イベントは、実行時にコントロールを追加すると発生します。デザイン時にコントロールを追加してもこのイベントは発生しません。また、実行時に初めてフォームが読み込まれ、表示されたときも発生しません。

このイベントの既定のアクションは、指定のフォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールにコントロールを追加することです。

Add メソッドを使うと、AddControl イベントが発生します。


AfterUpdate イベント

ユーザーの操作によって、コントロールのデータを変更した後に発生します。

構文

Private Sub object_AfterUpdate( )

AfterUpdate イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

AfterUpdate イベントは、そのコントロールが連結コントロールかどうかに関係なく発生します。連結コントロールとは、RowSource プロパティにデータ ソースが指定されているコントロールのことです。このイベントはキャンセルできません。更新をキャンセルして値を元に戻すには、BeforeUpdate イベントを使って引数 Cancel に真 (True) を設定します。

AfterUpdate イベントは、BeforeUpdate イベントの後、Exit イベントの前に発生します。また、タブ オーダーの次のコントロールで Enter イベントが発生する前に発生します。


BeforeDragOver イベント

ドラッグ アンド ドロップ操作の実行中に発生します。

構文

フレーム コントロールの場合
Private Sub object_BeforeDragOver( ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

マルチ ページ コントロールの場合
Private Sub object_BeforeDragOver( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

タブ ストリップ コントロールの場合
Private Sub object_BeforeDragOver( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

その他のコントロールの場合
Private Sub object_BeforeDragOver( ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

BeforeDragOver イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。ドラッグ アンド ドロップ操作の対象となる、マルチ ページ (MultiPage) コントロールの Page オブジェクトのインデックスを指定します。
Cancel	必ず指定します。イベントのステータスを指定します。偽 (False) を指定すると、コントロールがイベントを処理します (既定値)。真 (True) を指定すると、アプリケーションがイベントを処理します。
ctrl	必ず指定します。ドラッグされているコントロールを指定します。
Data	必ず指定します。ドラッグ アンド ドロップ操作でドラッグされているデータを指定します。データは、DataObject オブジェクトに含まれています。
X, Y	必ず指定します。コントロールの位置の水平座標と垂直座標をポイント単位で指定します。X 座標はコントロールの左端から、Y 座標はコントロールの上端からの距離です。
DragState	必ず指定します。ドラッグされているデータの移動状態を指定します。
Effect	必ず指定します。ドロップ ソースがサポートする操作を指定します。
Shift	必ず指定します。Shift キー、Ctrl キー、および Alt キーの状態を指定します。
設定値

引数 DragState の設定値は次のとおりです。

定数	値	内容
fmDragStateEnter	0	マウス ポインタは、ターゲットの範囲の中にあります。
fmDragStateLeave	1	マウス ポインタは、ターゲットの範囲の外にあります。
FmDragStateOver	2	マウス ポインタは新しい位置にありますが、同じターゲットの範囲の中にあります。
引数 Effect の設定値は次のとおりです。

定数	値	内容
fmDropEffectNone	0	ドロップ ソースをドロップ ターゲットにコピーも移動もしません。
FmDropEffectCopy	1	ドロップ ソースをドロップ ターゲットにコピーします。
FmDropEffectMove	2	ドロップ ソースをドロップ ターゲットに移動します。
FmDropEffectCopyOrMove	3	ドロップ ソースをドロップ ターゲットにコピーするか、または移動します。
引数 Shift の設定値は次のとおりです。

定数	値	内容
fmShiftMask	1	Shift キーが押されました。
fmCtrlMask	2	Ctrl キーが押されました。
fmAltMask	4	Alt キーが押されました。
解説

このイベントは、マウス ポインタが有効なターゲットに入ったとき、ターゲットから出たとき、またはターゲットの上にあるときに、ポインタを監視するために使います。ドラッグ アンド ドロップ操作を行っているときは、マウスを動かしたり、またはマウスのボタンを押したり離したりすると、このイベントが発生します。このイベントが発生するターゲット オブジェクトは、マウス ポインタの位置によって決まります。マウス ポインタの状態は、引数 DragState を調べることによって判定できます。

コントロールがこのイベントを処理する場合は、引数 Effect を更新することによって、実行するドラッグ アンド ドロップ アクションを指定できます。引数 Effect の設定値が fmDropEffectCopyOrMove の場合は、ドロップ ソースをコピー (fmDropEffectCopy)、移動 (fmDropEffectMove)、またはキャンセル (fmDropEffectNone) することができます。

引数 Effect に fmDropEffectCopy を設定した場合は、ドロップ ソースをコピー またはキャンセル (fmDropEffectNone) することができます。

引数 Effect に fmDropEffectMove を設定した場合は、ドロップ ソースをコピー またはキャンセル (fmDropEffectNone) することができます。

引数 Effect に fmDropEffectNone を設定した場合は、ドロップ ソースをキャンセルすることができます。

ほとんどのコントロールは、引数 Cancel に既定値の偽 (False) が設定されているときは、ドラッグ アンド ドロップ操作を行うことはできません。これはコントロール上にドラッグされたり、ドロップされることを防ぐためで、BeforeDropOrPaste イベントも発生しません。ただし、テキスト ボックス (TextBox) コントロールおよびコンボ ボックス (ComboBox) コントロールに対しては適用されず、引数 Cancel に偽 (False) が設定されているときでも、ドラッグ アンド ドロップ操作を行うことができます。


BeforeDropOrPaste イベント

データをオブジェクトにドロップしようとするか、または貼り付けようとすると発生します。

構文

フレーム コントロールの場合
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

マルチ ページ コントロールの場合
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

タブ ストリップ コントロールの場合
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

その他のコントロールの場合
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

BeforeDropOrPaste イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。ドロップ操作または貼り付け操作の対象となる、マルチ ページ (MultiPage) コントロールの Page オブジェクトのインデックスを指定します。
Cancel	必ず指定します。イベントのステータスを指定します。偽 (False) を指定すると、コントロールがイベントを処理します (既定値)。真 (True) を指定すると、アプリケーションがイベントを処理します。
ctrl	必ず指定します。ターゲット コントロールを指定します。
Action	必ず指定します。ペンディング状態のドラッグ アンド ドロップ操作の結果を、現在のキーボードの設定値に従って指定します。
Data	必ず指定します。ドラッグ アンド ドロップ操作でドラッグされているデータを指定します。このデータは、DataObject オブジェクトにパッケージされます。
X, Y	必ず指定します。ドロップ操作が発生したときのマウス ポインタの水平位置および垂直位置をポイント単位で指定します。X 座標はコントロールの左端から、Y 座標はコントロールの上端からの距離です。
Effect	必ず指定します。ターゲット コントロール上で、ドラッグ アンド ドロップ操作を行ったときの操作結果を指定します。
Shift	必ず指定します。Shift キー、Ctrl キー、および Alt キーの状態を指定します。
設定値

引数 Action の設定値は次のとおりです。

定数	値	内容
fmActionPaste	2	選択されているオブジェクトをドロップ ターゲットに貼り付けます。
fmActionDragDrop	3	オブジェクトをソースからドロップ ターゲットにドラッグして、ドロップ ターゲットにドロップしたことを示します。
引数 Effect の設定値は次のとおりです。

定数	値	内容
fmDropEffectNone	0	ドロップ ソースをドロップ ターゲットにコピーも移動もしません。
fmDropEffectCopy	1	ドロップ ソースをドロップ ターゲットにコピーします。
fmDropEffectMove	2	ドロップ ソースをドロップ ターゲットに移動します。
fmDropEffectCopyOrMove	3	ドロップ ソースをドロップ ターゲットにコピーするか、または移動します。
引数 Shift の設定値は次のとおりです。

定数	値	内容
fmShiftMask	1	Shift キーが押されました。
fmCtrlMask	2	Ctrl キーが押されました。
fmAltMask	4	Alt キーが押されました。
解説

マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールの場合、このイベントは、データ オブジェクトがコントロールに転送されたときに発生します。

その他のコントロールの場合は、ドロップ操作または貼り付け操作の直前に発生します。

コントロールがこのイベントを処理するときは、引数 Action を更新することによって、実行するドラッグ アンド ドロップ操作を指定できます。引数 Effect の設定値が fmDropEffectCopyOrMove のときは、引数 Action に fmDropEffectNone、fmDropEffectCopy、または fmDropEffectMove を設定できます。引数 Effect の設定値が fmDropEffectCopy、または fmDropEffectMove のときは、引数 Action に fmDropEffectNone を設定できます。引数 Effect の設定値が fmDropEffectNone のときは、引数 Action の設定値を変更できません。


BeforeUpdate イベント

コントロールのデータを変更したときに、実際にデータが変更される前に発生します。

構文

Private Sub object_BeforeUpdate( Cancel As Boolean)

BeforeUpdate イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Cancel	必ず指定します。イベントのステータスを指定します。偽 (False) を指定すると、コントロールがイベントを処理します (既定値)。真 (True) を指定すると、変更が取り消され、アプリケーションがイベントを処理します。
解説

BeforeUpdate イベントは、そのコントロールが連結コントロールかどうかに関係なく発生します。連結コントロールとは、RowSource プロパティにデータ ソースが指定されているコントロールのことです。このイベントは、AfterUpdate イベントと Exit イベントの前に発生します。したがって、フォーカスを受け取った次のコントロールの Enter イベントが発生する前に発生します。

引数 Cancel に真 (True) を設定すると、フォーカスは元のコントロールに残り、AfterUpdate イベントも Exit イベントも発生しません。


Change イベント

Value プロパティを変更したときに発生します。

構文

Private Sub object_Change( )

Change イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
設定値

Value プロパティの設定値が変更されると、Change イベントが発生します。この変更がコードの実行、またはユーザー インターフェイスからの操作のいずれからでもイベントが発生します。

Value プロパティの設定値が変更される操作の例を示します。

•	チェック ボックス (CheckBox) コントロール、オプション ボタン (OptionButton) コントロール、またはトグル ボタン (ToggleButton) コントロールをクリックしたとき。

•	コンボ ボックス (ComboBox) コントロール、リスト ボックス (ListBox) コントロール、またはテキスト ボックス (TextBox) コントロールに新しい文字列値を入力または選択したとき。

•	タブ ストリップ (TabStrip) コントロール上の異なるタブを選択したとき。

•	スクロール バー (ScrollBar) コントロールのスクロール ボックスをクリックしたとき。

•	スピン ボタン (SpinButton) コントロールの上向き、または下向きの矢印をクリックしたとき。

•	マルチ ページ (MultiPage) コントロール上の異なるページを選択したとき。

解説

Change イベントは、コントロール間で同期を取ったり、表示されたデータ間の調整を行うことができます。たとえば、スクロール バー (ScrollBar) コントロールの Change イベントを使って、スクロール バーの値を表示するテキスト ボックス (TextBox) コントロールの内容を更新することができます。また、作業エリアにデータと数式を表示し、別の領域に計算結果を表示する処理などにも使用できます。

メモ  Value プロパティの値を変更したときに Click イベントが発生することもありますが、プロパティの設定値が更新されているかどうかを確認する場合は、Change イベントを使うことをお勧めします。


Click イベント

次の 2 つの場合のいずれかで発生します。

•	マウスでコントロールをクリックしたとき。

•	1 つ以上の値を持つコントロールの値を正確に選択したとき。

構文

マルチ ページ コントロール、タブ ストリップ コントロールの場合
Private Sub object_Click( index As Long)

その他のコントロールの場合
Private Sub object_Click( )

Click イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。このイベントと関連付けられているマルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロール内におけるページのインデックスを指定します。
解説

Click イベントの発生には、2 つのケースがあります。1 つ目は、コマンド ボタン (CommandButton) コントロール、フレーム (Frame) コントロール、イメージ (Image) コントロール、ラベル (Label) コントロール、スクロール バー (ScrollBar) コントロール、およびスピン ボタン (SpinButton) コントロールに適用されます。2 つ目は、チェック ボックス (CheckBox) コントロール、コンボ ボックス (ComboBox) コントロール、リスト ボックス (ListBox) コントロール、マルチ ページ (MultiPage) コントロール、タブ ストリップ (TabStrip) コントロール、およびトグル ボタン (ToggleButton) コントロールルに適用されます。オプション ボタン (OptionButton) コントロールの Value プロパティに真 (True) が設定されているときにも適用されます。

Click イベントを発生させる操作の例を次に示します。

•	フォーム上の何もない領域またはリスト ボックス以外の無効なコントロールがクリックされたとき。

•	コマンド ボタン (CommandButton) コントロールがクリックされたとき。コマンド ボタン (CommandButton) コントロールがフォーカスを失っている場合は、Click イベントが発生する前に Enter イベントが発生します。

•	コマンド ボタン (CommandButton) コントロールがフォーカスを持っているときに Space キーが押されたとき。

•	マウスの左ボタンでコントロールをクリックしたとき。

•	別のコマンド ボタンがフォーカスを持っていない場合に限り、Default プロパティに真 (True) が設定されているコマンド ボタンが存在するフォーム上で、Enter キーが押されたとき。

•	別のコマンド ボタンがフォーカスを持っていない場合に限り、Cancel プロパティに真 (True) が設定されているコマンド ボタンが存在するフォーム上で、Eｓｃ キーが押されたとき。

•	コントロールに割り当てられているアクセス キーが押されたとき。

コントロールをクリックして Click イベントが発生したとき、Click イベントに続いて一連のイベントが発生します。

1	MouseDown

2	MouseUp

3	Click

いくつかのコントロールでは、Value プロパティが変更されたときに Click イベントが発生します。ただし、プロパティの設定値が更新されているかどうかを確認する場合は、Change イベントを使うことをお勧めします。コントロールに新しい値を割り当てるために Click イベントが発生させる操作の例を次に示します。

•	マルチ ページ (MultiPage) コントロール上の異なるページまたはタブ ストリップ (TabStrip) コントロール上の異なるタブを選択したとき。これらのコントロールの Value プロパティが現在選択されている Page オブジェクトまたはTab オブジェクトに反映します。現在選択されている Page オブジェクトまたはTab オブジェクトをクリックしても、コントロールの値が変わることも、Click イベントが発生することもありません。

•	1 つのコントロールがフォーカスを持っていたり、アクセス キーが押されたり、コードを通じてコントロールの値が変更されたりしたときにチェック ボックス (CheckBox) コントロールまたはトグル ボタン (ToggleButton) コントロールをクリックしたり、Space キーを押したとき。

•	オプション ボタン (OptionButton) コントロールの値が真 (True) に変更されたとき。あるグループの中で 1 つのオプション ボタン (OptionButton) コントロールに真 (True) が設定されると、そのグループ内の他のオプション ボタン (OptionButton) コントロールには、偽 (False) が設定されます。ただし、Click イベントは、真 (True) に変更されたボタンに対してのみ発生します。

•	コントロールの選択項目のリストと一致するコンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールの値を選択したとき。たとえば、リストが並べ替えられていない場合は、編集領域に入力された文字と最初に一致したとしても、必ずしもそれがリストの中でただ 1 つであるとは限りません。このような値を選択しても、Click イベントは発生しません。リストが並べ替えられていると、選択された値が入力した文字列と一致していることを確実にするマッチングができます。

Value プロパティに Null 値が設定されていると、Click イベントは発生しません。

メモ  マウスの左ボタンでクリックすると、コントロールの値が変更されるので、Click イベントが発生します。マウスの右ボタンは、クリックしてもコントロールの値を変更しないので、Click イベントは発生しません。


DblClick イベント

ユーザーがオブジェクトをポイントしながら、マウスのボタンを 2 回クリックすると発生します。

構文

マルチ ページ コントロール、タブ ストリップ コントロールの場合
Private Sub object_DblClick( index As Long, ByVal Cancel As MSForms.ReturnBoolean)Private Sub object_DblClick( index As Long, ByVal Cancel As MSForms.ReturnBoolean)

その他のコントロールの場合
Private Sub object_DblClick( ByVal Cancel As MSForms.ReturnBoolean)

DblClick イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。Pages コレクション内における Page オブジェクトの位置または Tabs コレクション内における Tab オブジェクトの位置を指定します。
Cancel	必ず指定します。イベントのステータスを指定します。偽 (False) を指定すると、コントロールがイベントを処理します (既定値)。真 (True) を指定すると、アプリケーションがイベントを処理します。
解説

このイベントは、システムに設定されているダブルクリックの速度の時間内に 2 回のクリックを行わないと発生しません。

Click イベントをサポートするコントロールでは、DblClick イベントの前に、次のイベントが次の順序で発生します。

1	MouseDown

2	MouseUp

3	Click

4	DblClick

テキスト ボックス (TextBox) コントロールなどの、Click イベントをサポートしないコントロールでは、これらのうち Click イベントは発生しません。

ダブルクリックしたときに引数 Cancel の戻り値が真 (True) の場合は、コントロールは、2 回目のクリックを無視します。トグル ボタンをダブルクリックしたときのように 1 回目のクリックの結果を 2 回目のクリックで逆にするときに使うと便利です。引数 Cancel は、2 回目のクリックを無視するので、マウス ボタンをクリックしても、ダブルクリックしても結果は同じになります。


DropButtonClick イベント

選択項目のリストをドロップダウンで表示するか、または非表示にすると発生します。

構文

Private Sub object_DropButtonClick( )

DropButtonClick イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

DropButtonClick イベントは、コードを通じて発生させたり、ユーザーの操作で発生させることができます。

コードでは、DropDown メソッドを呼び出すと DropButtonClick イベントが発生します。

ユーザーが次のいずれかの操作を行うと、このイベントが発生します。

•	コントロールの右端の下向き矢印をクリックする。

•	F4 キーを押す。

いずれの場合も、ドロップダウンしたリスト ボックスがコントロール上に表示されます。また、ドロップダウンしたリスト ボックスが非表示になったときにも DropButtonClick イベントは発生します。


Enter、Exit イベント

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

構文

Private Sub object_Enter( )

Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean)

Enter イベントおよび Exit イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Cancel	必ず指定します。イベントのステータスを指定します。偽 (False) を指定すると、コントロールがイベントを処理します (既定値)。真 (True) を指定すると、アプリケーションがイベントを処理し、フォーカスは現在のコントロールに残ります。
解説

Enter イベントと Exit イベントは、Visual Basic の GotFocus イベントと LostFocus イベントに似ています。ただし、GotFocus イベントと LostFocus イベントとは異なり、Enter イベントと Exit イベントは、フォーム自体がフォーカスを取得したり、フォーカスが移動したときには発生しません。

たとえば、あるチェック ボックスを選択すると、Enter イベントが発生します。次に、同じフォーム上にある別のコントロールを選択してフォーカスを移すと、まずチェック ボックスで Exit イベントが発生し、その後、選択した別のコントロールで Enter イベントが発生します。

Enter イベントはフォーカスが実際に移る前に発生するので、Enter イベントを使うと、たとえば、マクロやイベント プロシージャを使って、コントロールに入力できるデータの種類を示す小型のフォームやメッセージ ボックスを表示することができます。

メモ  フォーカスが別のコントロールに移動しないようにするには、Exit イベントの引数 Cancel に真 (True) を設定します。


Error イベント

コントロールでエラーが検出され、呼び出し元のプログラムにエラー情報を返せないときに発生します。

構文

マルチ ページ コントロールの場合
Private Sub object_Error( index As Long, ByVal Number As Integer, ByVal Description As MSForms.ReturnString, ByVal SCode As SCode, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.ReturnBoolean)

その他のコントロールの場合
Private Sub object_Error( ByVal Number As Integer, ByVal Description As MSForms.ReturnString, ByVal SCode As SCode, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.ReturnBoolean)

Error イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。このイベントと関連付けられているマルチ ページ (MultiPage) コントロール内におけるページのインデックスを指定します。
Number	必ず指定します。エラーの識別にコントロールが使う固有の値を指定します。
Description	必ず指定します。エラーの説明を指定します。
SCode	必ず指定します。エラーの OLE ステータス コードを指定します。下位 16 ビットには、引数 Number と同じ値を指定します。
Source	必ず指定します。このイベントが発生したコントロールを表す文字列を指定します。
HelpFile	必ず指定します。エラーについて説明するヘルプ ファイルの絶対パス名を指定します。
HelpContext	必ず指定します。エラーについて説明するヘルプ ファイル トピックのコンテキスト ID を指定します。
CancelDisplay	必ず指定します。エラー文字列をメッセージ ボックスに表示するかどうかを指定します。
解説

コントロールのエラー条件への応答は、Error イベントに記述したコードによって決まります。

エラー条件を処理できるかどうかは、アプリケーションによって差があります。Error イベントは、発生したエラーをアプリケーションが処理できないときに発生します。


KeyDown、KeyUp イベント

キーを押したとき、およびキーを離したときに続いて発生します。KeyDown イベントはキーを押すと発生し、KeyUp イベントはキーを離すと発生します。

構文

Private Sub object_KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

Private Sub object_KeyUp( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

KeyDown イベントおよび KeyUp イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
KeyCode	必ず指定します。押したキー、または離したキーのキー コードを指定します。
Shift	必ず指定します。Shift キー、Ctrl キー、および Alt キーの状態を指定します。
設定値

引数 Shift の設定値は次のとおりです。

定数	値	内容
fmShiftMask	1	Shift キーが押されました。
fmCtrlMask	2	Ctrl キーが押されました。
fmAltMask	4	Alt キーが押されました。
解説

実行中のフォームで、フォームまたはそのコントロールにフォーカスがあるときにキーを押すと、KeyDown イベントが発生します。キーを押したまま離さないでいると、KeyDown イベントと KeyPress イベントが交互に繰り返し発生します。キーを離すと KeyUp イベントが発生します。キーストロークはすべて、フォーカスがあるフォームまたはコントロールが受け取ります。フォームは、コントロールが 1 つもないか、または表示されているすべてのコントロールが選択不可能に設定されている場合に限り、フォーカスを持つことができます。

これらのイベントは、マクロの SendKeys アクションまたは Visual Basic の SendKeys ステートメントを使って、フォームまたはコントロールにキーストロークを送信した場合にも発生します。

KeyDown イベントと KeyUp イベントは、一般的に次のキーを認識したり、区別したりするときに使います。

•	拡張文字キー (ファンクション キーなど)

•	移動キー (Home キー、End キー、PageUp キー、PageDown キー、↑キー、↓キー、→キー、←キー、Tab キーなど)

•	キーと標準の補助キー (Shift キー、Ctrl キー、または Alt キー) の組み合わせ

•	数値キーパッドのキーと標準の数値キー

KeyDown イベントと KeyUp イベントは、次のときには発生しません。

•	Default プロパティが Yes に設定されているコマンド ボタンがあるフォームで Enter キーを押したとき。

•	Cancel プロパティが Yes に設定されているコマンド ボタンがあるフォームで Esc キーを押したとき。

ANSI コードまたはシフト JIS コードに対応する文字キーのいずれかを押すか、または送信すると、KeyDown イベントと KeyPress イベントが発生します。KeyUp イベントは、キーを押すか送信すると発生するイベントの後に発生します。フォーカスの移動を引き起こすキーを押した場合は、フォーカスの移動前のコントロールで KeyDown イベントが発生し、移動後のコントロールで KeyPress イベントと KeyUp イベントが発生します。

一連のキーボード関連イベントは、次の順序で発生します。

1	KeyDown

2	KeyPress

3	KeyUp

メモ  KeyDown イベントと KeyUp イベントは、フォームおよびフォーム上にあるコントロールでのみ発生します。ANSI コードまたはシフト JIS コードを解釈するとき、または押されたキーに対応する ANSI コードまたはシフト JIS コードを調べるときに、KeyPress イベントを使います。


KeyPress イベント

ANSI コードまたはシフト JIS コードに対応する文字キーのいずれかを押すと発生します。

構文

Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

KeyPress イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
KeyANSI	必ず指定します。標準の ANSI コードまたはシフト JIS コードを表す整数値を指定します。
解説

実行中のフォームで、フォームまたはそのコントロールにフォーカスがあるときに、入力可能な文字 (ANSI コードまたはシフト JIS コードに対応する文字) に対応するキーを押すと、KeyPress イベントが発生します。このイベントは、キーを離す前に発生することもありますし、離した後に発生することもあります。マクロの SendKeys ステートメント SendKeysまたは Visual Basic の SendKeys ステートメントを使って、フォームまたはコントロールに ANSI コードまたはシフト JIS コードに対応する文字のキーストロークを送信した場合にもこのイベントは発生します。

KeyPress イベントは、次のいずれかのキーを押すと発生します。

•	印刷可能キーボード文字

•	標準のアルファベット キーと Ctrl キーの組み合わせ

•	特殊文字キーと Ctrl キーの組み合わせ

•	Enter キー

•	BackSpace キー

•	Esc キー

KeyPress イベントは、次のいずれかの条件では発生しません。

•	Tab キーを押したとき

•	Enter キーを押したとき

•	方向キーを押したとき

•	コントロール間でフォーカスの移動を引き起こすキーを押したとき

メモ  BackSpace キーは、ANSI 文字セットまたはシフト JIS コードに対応する文字セットの中にありますが、Delete キーはありません。したがって、KeyPress イベントは、コントロールの中の文字を BackSpace キーを使って削除した場合には発生しますが、Delete キーを使って削除した場合には発生しません。

ANSI コードまたはシフト JIS コードに対応するキーを押したまま離さないでいると、KeyDown イベントと KeyPress イベントが交互に繰り返し発生します。キーを離すと KeyUp イベントが発生します。キーストロークはすべて、フォーカスを持っているフォームまたはコントロールが受け取ります。フォームは、その上にコントロールが 1 つもないか、または表示されているすべてのコントロールが選択不可能に設定されている場合に限り、フォーカスを取得できます。

KeyPress イベントの既定のアクションは、押したキーに対応するイベント コードの処理です。引数 KeyANSI は、押したキーまたはその組み合わせのキーに対応する ANSI コードまたはシフト JIS コードに対応する文字を示します。KeyPress イベントでは、大文字と小文字が異なるキー コードとして、つまり異なる文字として解釈されます。

キーボードの物理的な状態に応答したり、ファンクション キー、移動キー、またはこれらのキーと補助キー (Alt キー、Shift キー、Ctrl キー) の組み合わせなどの KeyPress イベントでは認識できないキーストロークを処理する場合は、KeyDown イベント プロシージャと KeyUp イベント プロシージャを使います。

一連のキーボード関連イベントは次の順序で発生します。

1	KeyDown

2	KeyPress

3	KeyUp


Layout イベント

フォーム、フレーム (Frame) コントロールまたはマルチ ページ (MultiPage) コントロールのサイズを変更すると発生します。

構文

マルチ ページ コントロールの場合
Private Sub object_Layout( index As Long)

その他のコントロールの場合
Private Sub object_Layout( )

Layout イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。サイズを変更したマルチ ページ (MultiPage) コントロールのページのインデックスを指定します。
解説

Layout イベントの既定の処理は、コントロールの新しい位置の算出と画面の再描画です。

Layout イベントは、コントロールのサイズを変更すると発生します。

AutoSize プロパティをサポートするコントロールでは、AutoSize プロパティによってコントロールのサイズが変わった場合にも、Layout イベントが発生します。これは、コントロールのサイズに影響を及ぼすプロパティの値を変更すると起こります。たとえば、テキスト ボックス (TextBox) コントロールまたはラベル (Label) コントロールの Font プロパティの値を大きく変更すると、それに合わせてコントロールのサイズも大きくなり、Layout イベントが発生します。


MouseDown、MouseUp イベント

マウス ボタンをクリックすると発生します。MouseDown イベントは、マウス ボタンを押したとき、MouseUp イベントは、マウス ボタンを離したときに発生します。

構文

マルチ ページ コントロール、タブ ストリップ コントロールの場合
Private Sub object_MouseDown( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseUp( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

その他のコントロールの場合
Private Sub object_MouseDown( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseUp( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

MouseDown イベントと MouseUp イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。イベントが発生したマルチ ページ (MultiPage) コントロールのページのインデックスまたはタブ ストリップ (TabStrip) コントロールのタブのインデックスを指定します。
Button	必ず指定します。イベントを発生させるマウス ボタンを識別する整数値を指定します。
Shift	必ず指定します。Shift キー、Ctrl キー、および Alt キーの状態を指定します
X, Y	必ず指定します。フォーム、フレーム (Frame) コントロール、またはページ (Page) コントロールの左端からの水平位置、およびその上端からの垂直位置をポイント単位で指定します。
設定値

引数 Button の設定値は次のとおりです。

定数	値	内容
fmButtonLeft	1	左ボタンが押されました。
fmButtonRight	2	右ボタンが押されました。
fmButtonMiddle	4	中央ボタンが押されました。
引数 Shift の設定値は次のとおりです。

値	内容
1	Shift キーが押されました。
2	Ctrl キーが押されました。
3	Shift キーと同時に Ctrl キーが押されました。
4	Alt キーが押されました。
5	Alt キーと同時に Shift キーが押されました。
6	Alt キーと同時に Ctrl キーが押されました。
7	Alt キー、Shift キー、Ctrl キーの 3 つが同時に押されました。
補助キーの状態を個別に調べるには、次の定数を使います。

定数	値	内容
fmShiftMask	1	Shift キーの検出をマスクします。
fmCtrlMask	2	Ctrl キーの検出をマスクします。
fmAltMask	4	Alt キーの検出をマスクします。
解説

マルチ ページ (MultiPage) コントロールでは、MouseDown イベントは、コントロールの上にマウス ポインタを置いてマウス ボタンを押すと発生します。

タブ ストリップ (TabStrip) コントロールでは、ユーザーがクリックしたタブの識別に引数 index を使います。タブ以外の領域をクリックすると、この引数には -1 が設定されます。たとえば、タブ ストリップ (TabStrip) コントロールの右上端にタブが 1 つもないとき、この右上端のどこかをクリックすると、インデックスには -1 が設定されます。

フォームでは、MouseDown イベントと MouseUp イベントは、何もない領域、レコード セレクタ、またはスクロール バーの上にマウス ポインタを置いた状態でマウス ボタンを押して離すと発生します。

一連のマウス関連イベントは、次の順序で発生します。

1	MouseDown

2	MouseUp

3	Click

4	DblClick

5	MouseUp

MouseDown イベント プロシージャでは、マウス ボタンを押したときに実行するアクションを指定します。MouseUp イベント プロシージャでは、マウス ボタンを離したときに実行するアクションを指定します。MouseDown イベント プロシージャおよび MouseUp イベント プロシージャでは、マウスの左ボタン、右ボタン、中央ボタンを区別できます。補助キー (Shift キー、Ctrl キー、および Alt キー) と組み合わせてマウス ボタンを押した場合も、コードを記述することができます。

フォームまたはコントロールの上にマウス ポインタがあるときにマウス ボタンが押されると、そのオブジェクトがマウスの動きを取得し、最後に発生する MouseUp イベントまですべてのマウス イベントを受け取ります。したがって、一連のマウス イベントから返されるマウス ポインタの座標 (X、Y) は、いつもそのイベントを受け取るオブジェクトの境界線の中にあるとは限りません。

いくつかのマウス ボタンを続けて押した場合は、マウスの動きを取得するオブジェクトが、すべてのボタンが離されるまでに発生するすべてのマウス イベントを受け取ります。

引数 Shift は、MouseDown イベントまたは MouseUp イベントが発生したときの Shift キー、Ctrl キー、および Alt キーの状態を識別するために使います。たとえば、Ctrl キーと Alt キーが押されていた場合、引数 Shift の値は 6 になります。


MouseMove イベント

マウス ポインタを動かすと発生します。

構文

マルチ ページ コントロール、タブ ストリップ コントロールの場合
Private Sub object_MouseMove( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

その他のコントロールの場合
Private Sub object_MouseMove( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

MouseMove イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。このイベントと関連付けられているマルチ ページ (MultiPage) コントロールのページのインデックスまたはタブ ストリップ (TabStrip) コントロールのタブのインデックスを指定します。
Button	必ず指定します。マウス ボタンの状態を表す整数値を指定します。
Shift	必ず指定します。Shift キー、Ctrl キー、および Alt キーの状態を指定します。
X, Y	必ず指定します。コントロールの左端からの水平位置、およびコントロールの上端からの垂直位置をポイント単位で指定します。
設定値

引数 index は、クリックされたページまたはタブを示します。-1 の場合は、ページまたはタブ以外がクリックされたことを示します。

引数 Button の設定値は次のとおりです。

値	内容
0	ボタンはどれも押されていません。
1	左ボタンが押されています。
2	右ボタンが押されています。
3	右ボタンと左ボタンが押されています。
4	中央ボタンが押されています。
5	中央ボタンと左ボタンが押されています。
6	中央ボタンと右ボタンが押されています。
7	3 つのボタンすべてが押されています。
引数 Shift の設定値は次のとおりです。

値	内容
1	Shift キーが押されました。
2	Ctrl キーが押されました。
3	Shift キーと Ctrl キーが押されました。
4	Alt キーが押されました。
5	Alt キーと Shift キーが押されました。
6	Alt キーと Ctrl キーが押されました。
7	Alt キー、Shift キー、Ctrl キーの 3 つが押されました。
補助キーの状態を個別に調べるには、次の定数を使います。

定数	値	内容
fmShiftMask	1	Shift キーの検出をマスクします。
FmCtrlMask	2	Ctrl キーの検出をマスクします。
FmAltMask	4	Alt キーの検出をマスクします。
解説

MouseMove イベントは、フォーム、フォーム上にあるコントロール、およびラベルで発生します。

MouseMove イベントは、マウス ポインタがオブジェクト上を移動するときに連続的に発生します。別のオブジェクトがマウスを認識している場合を除いて、あるオブジェクトが配置されている領域の上でマウス ポインタが移動すると、そのオブジェクトに対して MouseMove イベントが発生します。

フォームを動かすと、マウス ポインタが静止している場合でも MouseMove イベントは発生します。マウス ポインタの下にあるフォームを動かすと、MouseMove イベントが発生します。したがって、MouseMove イベントに応答する形でフォームを動かすマクロやイベント プロシージャがあると、MouseMove イベントは連続的に (連鎖的に) 発生することになります。

2 つのコントロールが近接している場合、その間の領域上でマウス ポインタをすばやく動かすと、そこでは MouseMove イベントが発生しない場合があります。このようなときは、両方のコントロールを MouseMove イベントに応答させる必要があります。

マウス ボタンの状態を調べるには、引数 Button から返される値を参照します。

引数 Shift を使うと、MouseMove イベントが発生したときの Shift キー、Ctrl キー、および Alt キーの状態を調べることができます。たとえば、Ctrl キーと Alt キーが押された場合、引数 Shift の値は 6 となります。

メモ  マウス ボタンを押したとき、および離したときに発生するイベントに応答する場合は、MouseDown イベント プロシージャと MouseUp イベント プロシージャを使います。


RemoveControl イベント

コントロールをコンテナから削除すると発生します。

構文

マルチ ページ コントロールの場合
Private Sub object_RemoveControl( index As Long, ctrl As Control)

その他のコントロールの場合
Private Sub object_RemoveControl( ctrl As Control)

RemoveControl イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。削除したコントロールがあったマルチ ページ (MultiPage) コントロールのページのインデックスを指定します。
ctrl	必ず指定します。削除するコントロールを指定します。
解説

このイベントは、フォームからコントロールを削除すると発生します。フォームを閉じたことによって、コントロールの読み込みが解放されたときには発生しません。


Scroll イベント

スクロール バー上のスクロール ボックスを動かすと発生します。

構文

スクロール バー コントロールの場合
Private Sub object_Scroll( )

マルチ ページ コントロールの場合
Private Sub object_Scroll( index As Long, ActionX As fmScrollAction, ActionY As fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)

フレーム コントロールの場合
Private Sub object_Scroll( ActionX As fmScrollAction, ActionY As fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)

Scroll イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。このイベントと関連付けられているマルチ ページ (MultiPage) コントロールのページのインデックスを指定します。
ActionX	必ず指定します。水平方向に発生したアクションを指定します。
ActionY	必ず指定します。垂直方向に発生したアクションを指定します。
RequestDx	必ず指定します。スクロール バーを水平方向に動かす距離をポイント単位で指定します。
RequestDy	必ず指定します。スクロール バーを垂直方向に動かす距離をポイント単位で指定します。
ActualDx	必ず指定します。スクロール バーが水平方向に動いた距離をポイント単位で指定します。
ActualDy	必ず指定します。スクロール バーが垂直方向に動いた距離をポイント単位で指定します。
設定値

引数 ActionX および引数 ActionY の設定値は次のとおりです。

定数	値	内容
fmScrollActionNoChange	0	変更はありませんでした。
FmScrollActionLineUp	1	垂直スクロール バーの場合は、上方向に移動します。水平スクロール バーの場合は、左方向に移動します。キーボードの↑キーまたは←キーを押してスクロール バーを動かした場合に相当します。
FmScrollActionLineDown	2	垂直スクロール バーの場合は、下方向に移動します。水平スクロール バーの場合は、右方向に移動します。キーボードの↓キーまたは→キーを押してスクロール バーを押した場合に相当します。
FmScrollActionPageUp	3	垂直スクロール バーの場合は、上方向に 1 ページ分移動します。水平スクロール バーの場合は、左方向に 1 ページ分移動します。キーボードの PageUp キーを押してスクロール バーを動かした場合に相当します。
FmScrollActionPageDown	4	垂直スクロール バーの場合は、下方向に 1 ページ分移動します。水平スクロール バーの場合は、右方向に 1 ページ分移動します。キーボードの PageDown キーを押してスクロール バーを動かした場合に相当します。
FmScrollActionBegin	5	垂直スクロール バーの場合は、一番上に移動します。水平スクロール バーの場合は、一番左に移動します。
FmScrollActionEnd	6	垂直スクロール バーの場合は、一番下に移動します。水平スクロール バーの場合は、一番右に移動します。
FmScrollActionPropertyChange	8	ScrollTop プロパティまたは ScrollLeft プロパティの値を変更する。移動の向きと量は、どのプロパティが変更されたか、およびプロパティの変更後の値に依存します。
FmScrollActionControlRequest	9	コントロールのコンテナをスクロールさせます。移動の量は、コントロールとコンテナによります。
FmScrollActionFocusRequest	10	ユーザーは別のコントロールにフォーカスを移しました。移動の量は、ユーザーが選択したコントロールの配置に依存し、通常は、そのコントロール全体が画面に表示されるようにスクロールする結果となります。
解説

フォーム、フレーム (Frame) コントロール、または Page オブジェクトと関連付けられている Scroll イベントは、ActionX、ActionY、ActualX、ActualY の 4 つの引数を返します。引数 ActionX と引数 ActionY は、行われたアクションを示します。引数 ActualX と引数 ActualY は、スクロール ボックスの動いた距離を示します。

既定のアクションは、スクロール ボックスの新しい位置の算出、およびその位置までのスクロール処理です。

フォーム、フレーム (Frame) コントロール、または Page オブジェクトで Scroll メソッドを呼び出すと、Scroll イベントが発生します。ユーザーがスクロール ボックスを動かすと、Scroll イベントが生成されます。

単独のスクロール バー (ScrollBar) コントロールと関連付けられている Scroll イベントは、スクロール ボックスがいずれかの方向に動かされたときに発生します。コードまたはスクロール ボックス以外のスクロール バーの部分をマウスのクリックによって、スクロール バー (ScrollBar) コントロールの値が変更されたときには、Scroll イベントは発生しません。


SpinDown、SpinUp イベント

SpinDown イベントは、下向きまたは左向きのスピン ボタン矢印をクリックすると発生します。SpinUp イベントは、上向きまたは右向きのスピン ボタン矢印をクリックすると発生します。

構文

Private Sub object_SpinDown( )

Private Sub object_SpinUp( )

SpinDown イベントと SpinUp イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

SpinDown イベントが発生すると、Value プロパティの値は減少します。SpinUp イベントが発生すると、Value プロパティの値は増加します。


Zoom イベント

Zoom プロパティの値を変更すると発生します。

構文

フレーム コントロールの場合
Private Sub object_Zoom( Percent As Integer)

マルチ ページ コントロールの場合
Private Sub object_Zoom( index As Long, Percent As Integer)

Zoom イベントの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。このイベントと関連付けられたマルチ ページ (MultiPage) コントロールのページのインデックスを指定します。
Percent	必ず指定します。フォームをズームする比率を百分率で指定します。10 ～ 400% の範囲で指定します。
解説

Zoom プロパティの値は、フォームまたは Page オブジェクトのサイズを変更する度合いを示します。同様に、現在のサイズを基準としてコントロールのサイズを変更する度合いを示します。100 未満の値を指定すると、フォームの表示サイズは小さくなります。100 を超える値を指定すると、フォームの表示サイズは大きくなります。

Zoom プロパティには、10 から 400 までの任意の整数値を指定できます。


Add メソッド

タブ ストリップ (TabStrip) コントロールに Tab オブジェクトを追加または挿入します。または、マルチ ページ (MultiPage) コントロールに Page オブジェクトを追加または挿入します。または、プログラム ID (ProgID) に従って、ページまたはフォームにコントロールを追加します。

構文

マルチ ページ コントロール、タブ ストリップ コントロールの場合
Set Object = object.Add( [ Name [,  Caption [,  index]]])

その他のコントロールの場合
Set Control = object.Add(  ProgID [,  Name [,  Visible]])

Add メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Name	省略可能です。追加するオブジェクトの名前を指定します。省略すると、フォームが使われているアプリケーションの規則に従って、既定の名前が生成されます。
Caption	省略可能です。タブまたはコントロール上に表示するキャプションを指定します。省略すると、フォームが使われているアプリケーションの規則に従って、既定のキャプションが生成されます。
Index	省略可能です。Pages コレクション内におけるページの位置または Tabs コレクション内におけるタブの位置を指定します。省略すると、ページまたはタブは、Pages コレクションまたは Tabs コレクションの最後に追加され、適切なインデックス値が割り当てられます。
ProgID	必ず指定します。プログラム ID (オブジェクトのクラスを表すテキスト文字列) を指定します。プログラム ID の文字列の中にスペースを含めることはできません。ProgID の標準的な書式は、<Vendor>.<Component>.<Version> です。ProgID は、クラス ID (CLSID) に割り当てられます。
Visible	省略可能です。オブジェクトを表示するには、真 (True) を指定します (既定値)。オブジェクトを非表示にするには、偽 (False) を指定します。
設定値

各種コントロールの ProgID の値は次のとおりです。

CheckBox	Forms.CheckBox.1
ComboBox	Forms.ComboBox.1
CommandButton	Forms.CommandButton.1
Frame	Forms.Frame.1
Image	Forms.Image.1
Label	Forms.Label.1
ListBox	Forms.ListBox.1
MultiPage	Forms.MultiPage.1
OptionButton	Forms.OptionButton.1
ScrollBar	Forms.ScrollBar.1
SpinButton	Forms.SpinButton.1
TabStrip	Forms.TabStrip.1
TextBox	Forms.TextBox.1
ToggleButton	Forms.ToggleButton.1
解説

マルチ ページ (MultiPage) コントロールでは、Add メソッドは Page オブジェクトを返します。タブ ストリップ (TabStrip) コントロールでは、Add メソッドは Tab オブジェクトを返します。コレクションの 1 番目の Page オブジェクトまたは Tab オブジェクトのインデックス値は 0 で、2 番目の Page オブジェクトまたは Tab オブジェクトのインデックス値は 1 です。以下同様に続きます。

オブジェクトの Controls コレクションでは、Add メソッドは、引数 ProgID に指定した対応するコントロールを返します。コントロールが追加された後には、AddControl イベントが発生します。

次の構文では、デザイン時に追加されたコントロールの Text プロパティの値が返ります。

userform1.thebox.text

実行時にコントロールを追加した場合は、感嘆符を使ってそのコントロールのプロパティの値を参照しなければなりません。たとえば、実行時に追加したコントロールの Text プロパティの値を返すには、次の構文を使います。

userform1!thebox.text

メモ  コントロールの Name プロパティは、Add メソッドを使って実行時に追加したコントロールに限り、実行時に変更できます。


AddItem メソッド

単一行のテキストの取得と表示が設定されているリスト ボックスまたはコンボ ボックスの場合は、リストに項目を追加します。複数行のテキストの取得と表示が設定されているリスト ボックスまたはコンボ ボックスの場合は、一覧に行を追加します。

構文

Variant = object.AddItem( [ item [,  varIndex]])

AddItem メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
item	省略可能です。追加する項目または行を指定します。1 番目の項目または行には 0 を、2 番目の項目または行には 1 を指定します。以下同様に続きます。
varIndex	省略可能です。新しい項目または行を挿入するオブジェクトの位置を示す整数値を指定します。
解説

引数 varIndex に有効な値を指定して AddItem メソッドを呼び出すと、指定した項目または行はリストの指定した位置に挿入されます。引数 varIndex を省略して AddItem メソッドを呼び出すと、項目または行はリストの末尾に追加されます。

引数 varIndex には、ListCount プロパティの値より大きい値を指定してはいけません。

複数行のテキストの取得と表示が設定されているリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの場合、AddItem メソッドは行を挿入し、コントロールの各列には項目が挿入されます。1 行目の項目に値を割り当てるには、List プロパティや Column プロパティを使って、項目の列や行を指定します。

コントロールがデータと連結されている場合、AddItem メソッドは使えません。

メモ  コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールに複数の行を追加するには、List プロパティを使います。


Clear メソッド

オブジェクトまたはコレクションからすべてのオブジェクトを削除します。

構文

object.Clear

Clear メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールで Clear メソッドを呼び出すと、そのページまたはタブがすべて削除されます。

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールで Clear メソッドを呼び出すと、リストの中の項目がすべて削除されます。

Controls コレクションで Clear メソッドを呼び出すと、実行時に Add メソッドを使って追加したコントロールがすべて削除されます。デザイン時に作成したコントロールを Clear メソッドで削除しようとするとエラーになります。


Copy メソッド

オブジェクトの内容をクリップボードにコピーします。

構文

object.Copy

Copy メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

コピーした元の内容は、オブジェクトから削除されません。

クリップボードに実際にコピーされる内容は、オブジェクトによって異なります。たとえば、Page オブジェクトで Copy メソッドを呼び出すと、現在選択されている 1 つまたは複数のコントロールがクリップボードにコピーされます。テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでは、現在選択されている文字列がクリップボードにコピーされます。

フォーム、フレーム (Frame) コントロールまたは Page オブジェクトで Copy メソッドを呼び出すと、そのときにアクティブなコントロールがクリップボードにコピーされます。


Cut メソッド

選択されている情報をオブジェクトから削除した上でクリップボードに転送します。

構文

object.Cut

Cut メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールで Cut メソッドを呼び出すと、選択されている文字列がコントロールから削除され、クリップボードにコピーされます。このメソッドは、対象となるコントロールにフォーカスがないときでも呼び出すことができます。

Page オブジェクト、フレーム (Frame) コントロールまたはフォームで Cut メソッドを呼び出すと、選択されているコントロールが削除され、クリップボードに転送されます。このメソッドで削除できるコントロールは、実行時に作成したコントロールに限られます。


DropDown メソッド

コンボ ボックス (ComboBox) コントロールのリスト部分を表示します。

構文

object.DropDown

DropDown メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

DropDown メソッドは、コンボ ボックスのリスト部分を開くときに使います。


GetFormat メソッド

指定したデータ形式が DataObject オブジェクトの中にあるかどうかを示す整数値を返します。

構文

Boolean = object.GetFormat( format)

GetFormat メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
format	必ず指定します。DataObject オブジェクトの中にあるデータ形式を表す整数値または文字列を指定します。指定した形式が DataObject オブジェクトの中に見つかると、GetFormat メソッドは真 (True) を返します。
設定値

引数 format の設定値は次のとおりです。

値	内容
1	テキスト形式です。
1 以外の整数値または文字列	SetText メソッドから DataObject オブジェクトへ渡される、ユーザーが定義した DataObject オブジェクトのデータ形式を指定します。
解説

GetFormat メソッドを呼び出すと、DataObject オブジェクトのデータ形式リストの中に、指定した形式があるかどうかが調べられます。指定した形式が DataObject オブジェクトの中にあると、GetFormat メソッドは 真 (True) を返し、ない場合は 偽 (False) を返します。

現時点では、DataObject オブジェクトは、テキスト形式のみをサポートしています。


GetFromClipboard メソッド

クリップボードから DataObject オブジェクトへデータをコピーします。

構文

String = object.GetFromClipboard( )

GetFromClipboard メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

DataObject オブジェクトには、複数のデータ項目を持たせることができますが、各項目は異なったデータ形式でなければなりません。たとえば、DataObject オブジェクトは 1 つのテキスト項目と 1 つのユーザー定義形式を持つことができますが、2 つのテキスト項目を持つことはできません。


GetText メソッド

指定したデータ形式に従って、DataObject オブジェクトからテキスト文字列を取り出します。

構文

String = object.GetText( [ format])

GetText メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
format	省略可能です。DataObject オブジェクトから取り出したデータ形式を表す整数値を指定します。
設定値

引数 format の設定値は次のとおりです。

値	内容
1	テキスト形式です。
1 以外の整数値または文字列	SetText メソッドから DataObject オブジェクトへ渡される、ユーザーが定義した DataObject オブジェクトのデータ形式を指定します。
解説

DataObject オブジェクトおよびクリップボードはさまざまなデータ形式をサポートしますが、1 つのデータ形式につき 1 つのデータ項目しかサポートしていません。たとえば、DataObject オブジェクトは 1 つのテキスト項目と 1 つのユーザー定義形式を持つことができますが、2 つのテキスト項目を持つことはできません。

データ形式の指定を省略すると、GetText メソッドは、DataObject オブジェクトにあるテキスト形式のデータを要求します。


Item メソッド

コレクションのメンバを表すインデックスまたは名前を返します。

構文

Set Object = object.Item(  collectionindex)

Item メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
collectionindex	必ず指定します。コレクション内におけるメンバの位置 (インデックス) を指定します。
設定値

引数 collectionindex には、文字列または整数値を指定します。文字列を指定するときは、有効なメンバ名を指定します。整数値を指定するときは、0 以上で、コレクションのメンバ数から 1 を引いた数以下の値を指定します。

解説

無効なインデックスまたは無効な名前を指定すると、エラーになります。


Move メソッド

フォームまたはコントロールを移動します。または、Controls コレクション内のすべてのコントロールを移動します。

構文

フォームまたはコントロールの場合
object.Move( [Left [,  Top [,  Width [,  Height [,  Layout]]]]])

Controls コレクションの場合
object.Move( X, Y)

Move メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Left	省略可能です。オブジェクトの左端を基準とする水平座標を示す単精度浮動小数点数値をポイント単位で指定します。
Top	省略可能です。オブジェクトの上端を基準とする垂直座標を示す単精度浮動小数点数値をポイント単位で指定します。
Width	省略可能です。オブジェクトの幅を示す単精度浮動小数点数値をポイント単位で指定します。
Height	省略可能です。オブジェクトの高さを示す単精度浮動小数点数値をポイント単位で指定します。
Layout	省略可能です。この移動に伴って、コントロールの親オブジェクトで Layout イベントを発生させるかどうかを示すブール値を指定します。既定値は偽 (False) です。
X, Y	必ず指定します。Controls コレクションにおける各コントロールの現在の水平位置および垂直位置からの移動量を示す単精度浮動小数点数値をポイント単位で指定します。
設定値

引数 Left、Top、Width、Height、X、Y の最小値および最大値は、各アプリケーションで異なります。

解説

フォームまたはコントロールの場合、複数のオブジェクトを選択して、それらを含んでいるフォームの端を基準とする特定の座標位置に動かすことができます。

名前付き引数を使うことや、位置を示す引数を入力することができます。名前付き引数を使用する場合は、任意の順序で引数を指定できます。名前付き引数を使用しない場合は、決められた順序で引数を指定しなければなりません。省略する引数がある場合は、省略を表すカンマを指定します。引数の指定を省略すると、そのオブジェクトは何も変更されません。

Controls コレクションにおいては、コレクション内のすべてのコントロールはフォーム、Page オブジェクト、またはフレーム (Frame) コントロール上の現在の位置から指定の位置に移動させることができます。


Paste メソッド

クリップボードの内容をオブジェクトに転送します。

構文

object.Paste

Paste メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールに貼り付けるデータは、テキストとして扱われます。

フォームで Paste メソッドを使うと、任意の OLE オブジェクトをフォーム上に貼り付けることができます。


PutInClipboard メソッド

DataObject オブジェクトのデータをクリップボードに移動します。

構文

object.PutInClipboard

PutInClipboard メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

PutInClipboard メソッド を使うと、クリップボードにある既存のデータは、テキスト形式の DataObject オブジェクトの内容に置き換えられます。


RedoAction メソッド

最後に行った元に戻す操作を取り消します。

構文

Boolean = object.RedoAction

RedoAction メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

やり直しとは、最後に行った元に戻す操作を取り消すことです。必ずしも、直前のアクションを取り消すものではありません。また、すべてのアクションを取り消せるわけではありません。

たとえば、テキスト ボックス (TextBox) コントロールに文字列を貼り付けた後、元に戻す操作を実行すると、貼り付けた文字列は削除されます。ここで [やり直し] (コマンド) を実行すると、削除された文字列は元のとおりに貼り付けられます。

メモ  CanRedo プロパティに偽 (False) が設定されているときは、ユーザーの操作で [やり直し] を使用することはできません。同様に、RedoAction メソッドも使用できません。

RedoAction メソッドは、処理に成功すると真 (True) を返します。


Remove メソッド

コレクションからメンバを削除します。フレーム (Frame) コントロール、Page オブジェクトまたはフォームからコントロールを削除します。

構文

object.Remove(  collectionindex)

Remove メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Collectionindex	必ず指定します。コレクション内の削除するメンバの位置 (インデックス) を指定します。インデックスには数値または文字列を指定します。数値を指定するときは、0 以上で、コレクションのメンバ数の合計から 1 を引いた数以下の範囲で値を指定します。文字列を指定するときは、有効なメンバ名を指定します。
解説

このメソッドで削除できるコントロールは、実行時に追加したコントロールに限られます。デザイン時に追加したコントロールを削除しようとすると、エラーになります。


RemoveItem メソッド

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのリストから行を削除します。

構文

Boolean = object.RemoveItem(  index)

RemoveItem メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。削除する行を表す数値を指定します。たとえば、1 行目を削除するには 0 を指定し、2 行目を削除するには 1 を指定します。以下同様に続きます。
リスト ボックス (ListBox) コントロールがデータ連結コントロールの場合 (リスト ボックス (ListBox) コントロールの RowSource プロパティにデータ ソースが指定されている場合)、このメソッドを使っても、リストから行を削除することはできません。


Repaint メソッド

フォームまたはページを描画し直すことによって、その表示内容を更新します。

構文

Boolean = object.Repaint

Repaint メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

オブジェクトの内容または外観を変更した後、システムによる領域の自動再描画を待たずに再描画をすぐに実行する必要があるときに Repaint メソッドを使います。


Scroll メソッド

オブジェクトのスクロール バーを移動します。

構文

object.Scroll( [ ActionX [,  ActionY]])

Scroll メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
ActionX	省略可能です。水平方向のアクションを指定します。
ActionY	省略可能です。垂直方向のアクションを指定します。
設定値

引数 ActionX および引数 ActionY の設定値は次のとおりです。

定数	値	内容
fmScrollActionNoChange	0	指定の方向にスクロールしません。
FmScrollActionLineUp	1	垂直スクロール バーの場合は、上方向に移動します。水平スクロール バーの場合は、左方向に移動します。キーボードの↑キーまたは←キーを使って、スクロール バーを移動した場合に相当します。
FmScrollActionLineDown	2	垂直スクロール バーの場合は、下方向に移動します。水平スクロール バーの場合は、右方向に移動します。キーボードの↓キーまたは→キーを使って、スクロール バーを移動した場合に相当します。
FmScrollActionPageUp	3	垂直スクロール バーの場合は、上方向に 1 ページ分移動します。水平スクロール バーの場合は、左方向に 1 ページ分移動します。キーボードの PageUp キーを使って、スクロール バーを移動した場合に相当します。
fmScrollActionPageDown	4	垂直スクロール バーの場合は、下方向に 1 ページ分移動します。水平スクロール バーの場合は、右方向に 1 ページ分移動します。キーボードの PageDown キーを使って、スクロール バーを移動した場合に相当します。
fmScrollActionBegin	5	垂直スクロール バーの場合は、一番上まで移動します。水平スクロール バーの場合は、一番左まで移動します。
fmScrollActionEnd	6	垂直スクロール バーの場合は、一番下まで移動します。水平スクロール バーの場合は、一番右まで移動します。


SetDefaultTabOrder メソッド

既定のタブ オーダーの規則 (上から下、左から右) に従って、フォーム上にある各コントロールの TabIndex プロパティを設定し直します。

構文

object.SetDefaultTabOrder

SetDefaultTabOrder メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

既定のタブ オーダーでは、フォームの左上端にあるコントロールが 1 番目となり、右へと移っていきます。タブ オーダーの中でフォームの左上端により近いコントロールに移ります。複数のコントロールがフォームの左上端から同じ距離にあるときは、タブ オーダーの値は上から下へ割り当てられます。


SetFocus メソッド

オブジェクトのインスタンスにフォーカスを移します。

構文

object.SetFocus

SetFocus メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

フォーカスの移動に失敗すると、フォーカスは元のオブジェクトに戻り、エラーが発生します。

特に指定しない限り、コントロールにフォーカスを設定しただけでは、そのコントロールがあるウィンドウがアクティブになることはありません。また、そのコントロールが別のコントロールの前面に表示されることもありません。

SetFocus メソッドは、別のコントロールを含むフレーム (Frame) コントロールと同様に空のフレーム (Frame) コントロールに対しても有効です。空のフレーム (Frame) コントロール自体がフォーカスを取得し、連続的なキーボード イベントはフレーム (Frame) コントロールに適応します。別のコントロールを含むフレーム (Frame) コントロールにおいては、フォーカスはフレーム (Frame) コントロール内の 1 番目のコントロールに移動します。連続的なキーボード イベントは、フォーカスを持っているコントロールに適応します。


SetText メソッド

指定したデータ形式に従って、テキスト文字列を DataObject オブジェクトにコピーします。

構文

object.SetText(  StoreData [,  format])

SetText メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
StoreData	必ず指定します。DataObject オブジェクトに格納するデータを定義します。
format	省略可能です。引数 StoreData で指定したデータ形式を示す整数値または文字列を指定します。DataObject オブジェクトからデータを取り出す場合、指定したデータ形式に応じて取り出すデータを識別します。
設定値

引数 format の設定値は次のとおりです。

値	内容
1	テキスト形式です。
1 以外の整数値または文字列	ユーザーが定義した DataObject オブジェクトのデータ形式を指定します。
解説

DataObject オブジェクトは、指定したデータ形式に従ってデータを格納します。文字列を指定した場合、DataObject オブジェクトには、指定した形式でテキストが格納されます。

DataObject オブジェクトが新しいデータと同じデータ形式のデータを含んでいる場合、新しいデータは DataObject オブジェクトの中に存在するデータと置き換えられます。新しいデータ形式のデータの場合、新しいデータと新しいデータ形式の両方が、DataObject オブジェクトに追加されます。既にあるデータの場合も同様です。

データ形式の指定を省略して SetText メソッドを呼び出すと、テキスト形式がテキスト文字列に割り当てられます。新しいデータ形式を指定すると、DataObject オブジェクトはその新しいデータ形式をシステムに登録します。


StartDrag メソッド

DataObject オブジェクトに対して、ドラッグ アンド ドロップ操作を開始します。

構文

fmDropEffect=Object.StartDrag([Effect as fmDropEffect])

StartDrag メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Effect	省略可能です。ターゲット コントロールでのドロップ操作の結果を指定します。
設定値

引数 Effect の設定値は次のとおりです。

定数	値	内容
fmDropEffectNone	0	ドロップ ソースをドロップ ターゲットにコピーも移動もしません。
fmDropEffectCopy	1	ドロップ ソースをドロップ ターゲットにコピーします。
fmDropEffectMove	2	ドロップ ソースをドロップ ターゲットに移動します。
fmDropEffectCopyOrMove	3	ドロップ ソースをドロップ ターゲットにコピーするか、または移動します。
解説

ドラッグ操作は、そのときのマウス ポインタの位置とキーボードの状態に従って開始し、マウス ボタンを離した時点で終了します。ドラッグ アンド ドロップ操作の結果は、ドロップ ターゲットに対して指定した設定値によって決まります。

たとえば、コントロールの MouseMove イベントの中で、StartDrag メソッドを使う場合があります。ユーザーがコントロールをクリックしたままの状態でマウス ポインタを動かしているときに、マウス ポインタの形状が状況に応じて変化するように設定すると、ドロップ ターゲットに対して 引数 Effect が有効かどうかを示すことができます。


UndoAction メソッド

直前のアクションを取り消します。ただし、取り消せるアクションは、[元に戻す] (コマンド) をサポートするものに限られます。

構文

Boolean = object.UndoAction

UndoAction メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

元に戻す操作は、UndoAction メソッドを使用します。たとえば、テキスト ボックス (TextBox) コントロールにテキストを貼り付けた後に UndoAction メソッドを使うと、貼り付けたテキストを削除して、テキスト ボックス (TextBox) コントロールの内容を元に戻すことができます。

ユーザーの操作の中には、元に戻すことができない種類もあります。元に戻すことができない操作を行うと、[元に戻す] (コマンド) は使えません。

メモ  CanUndo プロパティに偽 (False) が設定されているときは、[元に戻す] (コマンド) を使うことはできません。同様に、UndoAction メソッドも使えません。

フォームで UndoAction メソッドを呼び出すと、カレント レコードの変更内容がすべて失われます。コントロールで UndoAction メソッドを呼び出した場合、そのコントロール以外には影響が及びません。

このメソッドは、フォームまたはコントロールが更新される前に実行する必要があります。フォームの BeforeUpdate イベントまたはコントロールの Change イベントで、このメソッドを使うことをお勧めします。

UndoAction メソッドは、イベントプロシージャの中で SendKeys ステートメントを使って、Esc キーの値を送信する代わりに使用できます。


ZOrder メソッド

指定されたオブジェクトの同一コンテナ内での Z オーダーを変更します。

構文

object.ZOrder( [ zPosition])

ZOrder メソッドの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
zPosition	省略可能です。コンテナの Z オーダーにおけるコントロールの位置 (前面か後面か) を指定します。
設定値

引数 zPosition の設定値は次のとおりです。

定数	値	内容
fmTop	0	コントロールの Z オーダーは、前面に指定されます。コントロールは、その他のコントロールの上層に表示されます (既定値)。
fmBottom	1	コントロールの Z オーダーは、後面に指定されます。コントロールは、その他のコントロールの下層に表示されます。
解説

Z オーダーとは、複数のウィンドウやコントロールを画面に表示するときに、それらをどのように積み重ねて表示するかを定義するものです。Z オーダーに後面への移動が設定されているアイテムは、他のアイテムの下に隠れて表示されます。Z オーダーに前面への移動が設定されているアイテムは、他のアイテムの上にかぶさって表示されます。引数 zPosition を省略すると、オブジェクトは前面に表示されます。

デザイン時には、[最前面へ移動] (コマンド) および [最背面へ移動] (コマンド) を使うことによっても、Z オーダーを設定できます。[最前面へ移動] は、ZOrder メソッドを使ってオブジェクトの Z オーダーを前面に移動する設定に相当します。[最背面へ移動] は、ZOrder メソッドを使ってオブジェクトの Z オーダーを後面に移動する設定に相当します。

このメソッドを実行することによって、Controls コレクションの内容が変わったり、そのコントロールの順序関係が変わったりすることはありません。

メモ   [最前面へ移動] や [最背面へ移動] などの Z オーダー変更コマンドに対して、[元に戻す] (コマンド) や [やり直し] (コマンド) を使うことはできません。たとえば、オブジェクトを選択してショートカット メニューの [背面へ移動] (コマンド) をクリックした後で、その操作を元に戻したり、さらにやり直したりすることはできません。


Accelerator プロパティ

コントロールのアクセス キーを設定します。値の取得も可能です。

構文

object.Accelerator [= String]

Accelerator プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。アクセス キーとして使う文字を指定します。
解説

アクセス キーを指定するには、1 つの文字を Accelerator プロパティに設定します。Accelerator プロパティの値は、コントロールのプロパティ シートまたはコード中で指定できます。このプロパティに複数の文字を指定した場合は、文字列中の先頭の文字が Accelerator プロパティの値として使われます。

アクセス キーを使った場合は、フォーカスが移る以外に、Click イベントが発生したことを示す視覚的なフィードバックがありません。たとえば、コマンド ボタン (CommandButton) コントロールに割り当てられているアクセス キーを押しても、コマンド ボタンが押される様子を見ることはできません。ただし、フォーカスはコマンド ボタンに移ります。

ラベル (Label) コントロールに割り当てられているアクセス キーを押すと、ラベル (Label) コントロール自体ではなく、タブ オーダーの次のコントロールにフォーカスが移ります。


ActiveControl プロパティ

フォーカスを持っているコントロールを調べたり、操作するときに設定します。

構文

object.ActiveControl

ActiveControl プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

ActiveControl プロパティは、値の取得のみ可能です。ユーザーがいずれかのコントロールを選択すると自動的に設定されます。ActiveControl プロパティは、プロパティを設定したり、メソッドを呼び出したりするときに、コントロール名の代わりに使用できます。


Alignment プロパティ

コントロール内におけるキャプションの位置を設定します。

構文

object.Alignment [= fmAlignment]

Alignment プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmAlignment	省略可能です。キャプションの位置を設定します。
設定値

引数 fmAlignment の設定値は次のとおりです。

定数	値	内容
fmAlignmentLeft	0	コントロールの左端にキャプションを配置します。
fmAlignmentRight	1	コントロールの右端にキャプションを配置します (既定値)。
解説

コントロールのキャプションの文字列は、左揃えで表示されます。

メモ  トグル ボタン (ToggleButton) コントロールにも Alignment プロパティがありますが、Alignment プロパティの値は無効です。トグル ボタン (ToggleButton) コントロールでは、Alignment プロパティに値の設定も取得もできません。


AutoSize プロパティ

オブジェクトのサイズを表示内容の大きさに合わせて、自動的に調整するかどうかを設定します。

構文

object.AutoSize [= Boolean]

AutoSize プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。コントロールのサイズを表示内容の大きさに合わせて、自動的に調整するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	コントロールのサイズを表示内容の大きさに合わせて、自動的に調整します。
False	コントロールのサイズを固定します。コントロールのサイズからはみ出した部分は、画面に表示されません (既定値)。
解説

キャプションが付いたコントロールでは、AutoSize プロパティでキャプションの表示内容の大きさに合わせて、コントロールのサイズを自動的に調整するかどうかを指定します。

キャプションがないコントロールでは、コントロール内に表示する情報量に合わせてコントロールのサイズを自動的に調整するかどうかを指定します。たとえば、コンボ ボックス (ComboBox) コントロールの場合は、AutoSize プロパティに真 (True) を設定すると、表示領域のサイズが現在の文字列の長さに合わせて自動的に調整されます。

単一行のテキストの取得と表示が設定されているテキスト ボックスで、AutoSize プロパティに真 (True) を設定すると、コントロールの表示領域の幅が、テキストの長さに合わせて自動的に調整されます。

複数行のテキストの取得と表示が設定されているテキスト ボックスがテキストを持たない場合、AutoSize プロパティに真 (True) を設定すると、入力したテキストが列として表示されます。テキストの列の幅は、使われているフォント サイズのうち、最も幅が広い文字に合わせて自動的に調整されます。テキストの列の高さは、テキスト ボックス内のテキスト全体を表示できるように調整されます。

複数行のテキストの取得と表示が設定されているテキスト ボックスがテキストを持つ場合、AutoSize プロパティに真 (True) を設定すると、テキスト全体が表示されるように自動的にテキスト ボックスの高さが調整されます。テキスト ボックスの幅は、変わりません。

メモ   AutoSize プロパティに真 (True) が設定されているときにユーザーの操作でコントロールのサイズを変更すると、AutoSize プロパティで設定されている元のサイズをユーザー操作のサイズに置き換えます。


AutoTab プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (TextBox) コントロールのテキスト ボックス領域に最大文字数が入力されたとき、フォーカスを自動的に次のコントロールに移すかどうかを設定します。

構文

object.AutoTab [= Boolean]

AutoTab プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。フォーカスを自動的に次のコントロールに移すかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	フォーカスを自動的に次のコントロールに移します。
False	フォーカスを自動的に次のコントロールに移しません (既定値)。
解説

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのテキスト ボックス領域に入力できる最大文字数は、MaxLength プロパティで指定します。

AutoTab プロパティは、テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに入力できる文字数があらかじめ決めてあるときに使います。この決められた最大文字数を入力すると、フォーカスは自動的にタブ オーダーで設定されている次のコントロールに移動します。たとえば、在庫数を表示するテキスト ボックス (TextBox) コントロールが在庫品目一覧表にあって、その文字数が 5 に固定されている場合は、MaxLength プロパティを使ってテキスト ボックス (TextBox) コントロールに入力できる最大文字数を設定します。さらに AutoTab プロパティを使って、5 文字入力された時点でフォーカスが次のコントロールに自動的に移動するように設定できます。

AutoTab プロパティのサポートは、アプリケーションで異なります。すべてコンテナが、このプロパティをサポートしているわけではありません。


AutoWordSelect プロパティ

選択範囲を広げるときの選択の基本単位を単語にするか、文字にするかを設定します。

構文

object.AutoWordSelect [= Boolean]

AutoWordSelect プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。選択範囲を広げるときの選択の基本単位を指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	単語を選択の基本単位とします (既定値)。
False	文字を選択の基本単位とします。
解説

AutoWordSelect プロパティには、テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの編集領域で文字列の選択範囲を広げるとき、または狭めるときの基本単位を指定します。

AutoWordSelect プロパティに真 (True) が設定されている場合は、ある単語の中にカーソルを置いて選択範囲を広げると、その単語全体が選択されます。


BackColor プロパティ

オブジェクトの背景色を設定します。

構文

object.BackColor [= Long]

BackColor プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。オブジェクトの背景色を表す値または定数を指定します。
設定値

引数 long には、有効な色を表す任意の整数値を指定します。RGB 関数を使って色を指定することもできます。RGB 関数を使うときは、色の成分を赤、緑、青に分け、その組み合わせで色を指定します。それぞれの色成分は、0 ～ 255 の整数値によって表します。たとえば、明るい緑色は、整数値 4966415 を使って指定するか、または RGB 関数を使って、赤、緑、青の各色成分を 15、200、75 として指定します。

解説

オブジェクトの背景色は、BackStyle プロパティが定数 fmBackStyleOpaque に設定されている場合に限り表示されます。


BackStyle プロパティ

オブジェクトの背景のスタイルを設定します。値の取得も可能です。

構文

object.BackStyle [= fmBackStyle]

BackStyle プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmBackStyle	省略可能です。コントロールの背景スタイルを指定します。
設定値

引数 fmBackStyle の設定値は次のとおりです。

定数	値	内容
fmBackStyleTransparent	0	背景を透明にします。
FmBackStyleOpaque	1	背景を不透明にします (既定値)。
解説

BackStyle プロパティは、コントロールを透明にするかどうかどうかを決定します。BackStyle プロパティに fmBackStyleOpaque を設定するとコントロールは不透明になり、コントロールの後面にあるものは見えなくなります。fmBackStyleTransparent を設定するとコントロールは透明になり、コントロールの後面にあるものが透けて見えるようになります。

メモ  ビットマップには、BackStyle プロパティが適用されません。ビットマップを透明にするには、ペイントなどのイメージ編集アプリケーションを使う必要があります。コントロールの中には、透明なビットマップをサポートしていないものもあります。


Bold、Italic、Size、StrikeThrough、Underline、Weight プロパティ

画面表示または印刷結果の文字列の表示属性を設定します。

構文

object.Bold [= Boolean]

object.Italic [= Boolean]

object.Size [= Currency]

object.StrikeThrough [= Boolean]

object.Underline [= Boolean]

object.Weight [= Integer]

Bold、Italic、Size、StrikeThrough、Underline、Weight の各プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。フォントのスタイルを指定します。
Currency	省略可能です。フォント サイズを示す数値を指定します。
Integer	省略可能です。フォントのスタイルを指定します。
引数 Boolean の設定値は次のとおりです。

値	内容
True	指定の属性 (太字、斜体、サイズ、取り消し線、下線、太さ) を文字列に適用します。
False	指定の属性を文字列から解除します (既定値)。
Weight プロパティには、0 ～ 1000 の値を指定します。0 を指定すると、システムによって最適と判断される文字の太さが自動的に適用されます。特定の太さを指定するには、1 ～ 1000 の値を指定します。1 が最も細いスタイルを表し、1000 が最も太いスタイルを表します。

解説

これらのプロパティは、文字列の外観に関する属性を定義するときに使います。Bold プロパティは、文字列を太字にするかどうかを定義します。Italic プロパティは、文字列を斜体にするかどうかを定義します。Size プロパティは、文字列のサイズをポイント単位で定義します。Underline プロパティは、文字列を下線付きで表示するかどうかを定義します。StrikeThrough プロパティは、文字列を取り消し線付きで表示するかどうかを定義します。Weight プロパティは、文字列の太さを定義します。

フォントの外観は、ユーザーが使用しているコンピュータとプリンタによっては、画面上と印字上とで異なることがあります。指定した属性では表示できないフォントを選択したり、またはインストールされていないフォントを選択すると、類似したフォントが代わりに使われます。可能な場合は、同じフォント ファミリの中から代替フォントが選ばれ、サイズは元のフォントと異なります。代替フォントは、できる限り指定したフォントに類似したフォントが選ばれます。

Bold プロパティの値を変更すると、Weight プロパティの値も自動的に変更されます。Bold プロパティに真 (True) を設定すると、Weight プロパティには 700 が設定されます。Bold プロパティに偽 (False) を設定すると、Weight プロパティに 400 が設定されます。逆に、Weight プロパティに 550 を超える値を設定すると、Bold プロパティには真 (True) が設定され、Weight プロパティに 550 以下の値を設定すると、Bold プロパティには偽 (False) が設定されます。

既定のポイント サイズは、オペレーティング システムに依存します。


BorderColor プロパティ

オブジェクトの境界線の色を設定します。

構文

object.BorderColor [= Long]

BorderColor プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。オブジェクトの境界線の色を表す値または定数を指定します。
設定値

有効な色を表す任意の整数値を指定します。RGB 関数を使って、色を指定することもできます。RGB 関数を使うときは、色の成分を赤、緑、青に分け、その組み合わせで色を指定します。それぞれの色成分は、0 ～ 255 の整数値によって表します。たとえば、明るい緑色は、整数値 4966415 を使って指定するか、または RGB 関数を使って、赤、緑、青の各色成分を 15、200、75 として指定します。

解説

BorderColor プロパティは、BorderStyle プロパティの値が fmBorderStyleNone 以外に設定されている場合に限り使用できます。

BorderStyle プロパティは、境界線の色の定義に BorderColor プロパティを使います。SpecialEffect プロパティは、境界線の色の定義にシステム カラーだけを使います。Windows オペレーティング システムでは、システム カラーの設定は、コントロール パネルにある [画面] の [デザイン] タブで行います。Windows NT 3.51 では、システム カラーの設定は、コントロール パネルの [画面の色] に保存されます。


BorderStyle プロパティ

コントロールまたはフォームの境界線のスタイルを設定します。

構文

object.BorderStyle [= fmBorderStyle]

BorderStyle プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmBorderStyle	省略可能です。境界線のスタイルを指定します。
設定値

引数 fmBorderStyle の設定値は次のとおりです。

定数	値	内容
fmBorderStyleNone	0	境界線を表示しません。
fmBorderStyleSingle	1	実線の境界線を表示します (既定値)。
コンボ ボックス (ComboBox) コントロール、フレーム (Frame) コントロール、ラベル (Label) コントロール、リスト ボックス (ListBox) コントロールおよびテキスト ボックス (TextBox) コントロールでは、0 が既定値です (境界線なし)。イメージ (Image) コントロールでは、1 が既定値です (実線の境界線)。

解説

フレーム (Frame) コントロールでは、SpecialEffect プロパティに 0 が設定されていると、BorderStyle プロパティは無視されます。

コントロールの境界線を指定するときは、BorderStyle プロパティか SpecialEffect プロパティのいずれかを使用できますが、両方を同時に使うことはできません。いずれかのプロパティに 0 以外の値を指定すると、もう一方のプロパティは自動的に 0 が設定されます。たとえば、BorderStyle プロパティに fmBorderStyleSingle を設定すると、SpecialEffect プロパティは自動的に 0 が設定されます。SpecialEffect プロパティに 0 以外の値を設定すると、BorderStyle プロパティは自動的に 0が設定されます。

BorderStyle プロパティは、境界線の色の定義に BorderColor プロパティを使用します。


BoundColumn プロパティ

複数の列があるコンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールのデータ ソースを設定します。

構文

object.BoundColumn [= Variant]

BoundColumn プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。BoundColumn プロパティの値の選択方法を指定します。
設定値

引数 Variant の設定値は次のとおりです。

値	内容
0	ListIndex プロパティの値をコントロールに割り当てます。
1 以上	指定した列の値をコントロールに割り当てます (既定値)。このプロパティを使うときは、列は 1 から数えます。
解説

複数の列があるリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでいずれかの行を選択すると、BoundColumn プロパティに設定されている列の値が、コントロールの値として格納されます。たとえば、1 つの行に 8 つの列があって、BoundColumn プロパティに 3 が設定されている場合は、現在選択されている行の中から 3 番目の列の値がオブジェクトの値として格納されることになります。

BoundColumn プロパティと TextColumn プロパティを組み合わせて使うと、画面に表示する値とは異なる値をオブジェクトに格納できます。コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールに表示する列を指定するには、TextColumn プロパティを使います。また、どの列の値をコントロールに格納するかを指定するには、BoundColumn プロパティを使います。たとえば、1 列目に祝祭日の名前を持ち、2 列目にその日付を持つ複数の列があるリスト ボックス (ListBox) コントロールを作成するものとします。祝祭日の名前の一覧をリスト ボックスのリストに表示し、祝祭日の日付をコントロールの値として格納する場合には、TextColumn プロパティに 1 列目を指定し、BoundColumn プロパティに 2 列目を指定します。

コントロールがデータ ソースと連結している場合、BoundColumn プロパティに指定した列の値は、ControlSource プロパティが示すデータ ソースに格納されます。

ListIndex プロパティの値は、選択されている行の番号を示します。たとえば、どの行が選択されているかを知りたいときは、BoundColumn プロパティに 0 を設定して、選択されている行の番号をコントロールの値として割り当てます。参照しているリストの内容が変更されている可能性がある場合には、前回取得した値を参照せず、常に最新の値を取得します。

Column プロパティ、List プロパティ、および ListIndex プロパティは、0 から番号を数える仕様になっています。たとえば、先頭の項目 (列または行) は 0 で表し、2 番目の項目は 1 で表します。BoundColumn プロパティに 3 が設定されている場合、その列に格納されている値を参照するには、「Column(2)」の式を使用します。


BoundValue プロパティ

コントロールがフォーカスを受け取るときのコントロールの値を示します。

構文

object.BoundValue [= Variant]

BoundValue プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。現在のコントロール状態、またはその内容を指定します。
設定値

コントロール	内容
CheckBox	項目が選択されているかどうかを表す整数値を表します。
	Null   選択でもクリアでもない、Null 値の状態を表します。
	-1    真。項目が選択されていることを表します。
	0     偽。項目が選択されていないことを表します。
OptionButton	チェック ボックス (CheckBox) コントロールと同じです。
ToggleButton	チェック ボックス (CheckBox) コントロールと同じです。
ScrollBar	Max プロパティの値と Min プロパティの値の間の整数値を表します。
SpinButton	スクロール バー (ScrollBar) コントロールと同じです。
ComboBox, ListBox	現在選択されている行の中の、BoundColumn プロパティが示す列の値を表します。
CommandButton	常に偽 (False) です。
MultiPage	現在アクティブなページを表す整数値を表します。
	1 ページ目は 0 です。最大値は、ページ数の合計から 1 を引いた数です。
TextBox	編集領域の文字列を表します。
解説

BoundValue プロパティは、フォーカスを持つコントロールに適用されます。

BoundValue プロパティおよび Value プロパティの機能は、ほとんど同じものです。コントロールの値を変更するために編集を行う場合、BoundValue プロパティおよび Value プロパティは変更が終了するまでの間だけ異なる点があります。

コントロールの値を変更すると、さまざまなことが発生します。たとえば、テキスト ボックス (TextBox) コントロールの文字列を変更した場合は、次のことが発生します。

1	Change イベントが発生します。このとき、Value プロパティに新しい文字列が、BoundValue プロパティに変更前の文字列が設定されます。

2	BeforeUpdate イベントが発生します。

3	AfterUpdate イベントが発生します。BoundValue プロパティおよび Value プロパティの値が再度同じものになり、新しい文字列が設定されます。

複数の項目を選択できるリスト ボックス (ListBox) コントロールでは、BoundValue プロパティを使用できません。


Cancel プロパティ

コマンド ボタンをそのフォームのキャンセル ボタンにするかどうかを設定します。値の取得も可能です。

構文

object.Cancel [= Boolean]

Cancel プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。キャンセル ボタンにするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	指定したコマンド ボタン (CommandButton) コントロールをキャンセル ボタンにします。
False	指定したコマンド ボタン (CommandButton) コントロールをキャンセル ボタンにしません (既定値)。
解説

既定のコマンド ボタンに設定できるのは、コマンド ボタン (CommandButton) コントロール、およびコマンド ボタンのように機能するオブジェクトです。OLE コンテナ コントロールについては、コマンド ボタンとして機能するものに限り、Cancel プロパティを使用できます。

キャンセル ボタンとして設定できるコマンド ボタン (CommandButton) コントロールは、1 つのフォームに 1 つだけです。いずれか 1 つの Cancel プロパティに真 (True) を設定すると、同じフォーム上にある別のオブジェクトの Cancel プロパティには、すべて自動的に偽 (False) が設定されます。アクティブなフォーム上で、Cancel プロパティに真 (True) が設定されているコマンド ボタン (CommandButton) コントロールがあるとき、そのコントロールは、クリックするか、または Esc キーを押すことによって選択することができます。また、そのコントロールにフォーカスがあるときは、Enter キーを押すことによっても選択できます。

一般に Cancel プロパティは、未確定の変更をキャンセルして、フォームを元の状態に戻せるようにする手段をユーザーに提供するときに使用します。

削除操作など、元の状態に戻すことができない操作をサポートするフォームでは、キャンセル ボタンを既定のボタンにすることをお勧めします。キャンセル ボタンを既定のボタンとして設定するには、Cancel プロパティと Default プロパティの両方に真 (True) を設定します。


CanPaste プロパティ

オブジェクトがサポートしている形式のデータが、クリップボードにあるかどうかを表す値を返します。

構文

object.CanPaste

CanPaste プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

CanPaste プロパティの戻り値は次のとおりです。

値	内容
True	マウス ポインタが指しているオブジェクトには、クリップボードの内容を貼り付けることができます (既定値)。
False	マウス ポインタが指しているオブジェクトには、クリップボードの内容を貼り付けることができません。
解説

CanPaste プロパティは、値の取得のみ可能です。

クリップボードにあるデータ形式を現在のターゲット オブジェクトがサポートしていない場合、CanPaste プロパティには偽 (False) が設定されます。たとえば、テキストしかサポートしていないオブジェクトにビットマップを貼り付けようとすると、CanPaste プロパティには偽 (False) が設定されます。


CanRedo プロパティ

最後に行った元に戻す操作を取り消すことができるようにするかどうかを設定します。

構文

object.CanRedo

CanRedo プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

CanRedo プロパティの戻り値は次のとおりです。

値	内容
True	最後に行った元に戻す操作は、取り消すことができます。
False	最後に行った元に戻す操作は、取り消すことができません。
解説

CanRedo プロパティは、値の取得のみ可能です。

やり直しとは、元に戻す操作を取り消すことです。必ずしも、直前の操作を繰り返すことではありません。

元に戻す操作とやり直し操作の使用例を次に示します。

1	オプション ボタンの値を変更します。

2	テキスト ボックスに文字列を入力します。

3	[元に戻す] (ボタン) をクリックします。入力した文字列がテキスト ボックスから削除されます。

4	[元に戻す] をクリックします。オプション ボタンの設定が元の状態に戻ります。

5	[やり直し] (ボタン) をクリックします。オプション ボタンの値が変更されます。

6	[やり直し] をクリックします。テキスト ボックスの中に再び文字列が表示されます。


CanUndo プロパティ

直前にユーザーが行った操作を元に戻すことができるようにするかどうかを設定します。

構文

object.CanUndo

CanUndo プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

CanUndo プロパティの戻り値は次のとおりです。

値	内容
True	直前にユーザーが行った操作を元に戻すことができます。
False	直前にユーザーが行った操作を元に戻すことができません。
解説

CanUndo プロパティは、値の取得のみ可能です。

ユーザーが行った操作の多くは、[元に戻す] (コマンド) を使って取り消すことができます。CanUndo プロパティは、直前にユーザーが行った操作を取り消せるかどうかを示します。


Caption プロパティ

オブジェクトの上に表示するオブジェクト名または説明テキストを設定します。

構文

object.Caption [= String]

Caption プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。キャプションとして表示されるテキストを示す文字列式を指定します。
設定値

コントロールの Caption プロパティの既定値は、その種類に従って決まります。たとえば、フォーム上に最初に追加したコマンド ボタン (CommandButton) コントロールの Caption プロパティの既定値は、CommandButton1 となります。

解説

キャプションとは、オブジェクトと関連付けてオブジェクトを識別したり、説明するための文字列のことです。ボタンおよびラベルの場合、Caption プロパティの文字列はコントロールの上に表示されます。Page オブジェクトおよび Tab オブジェクトの場合、Caption プロパティの文字列はタブの上に表示されます。

コントロールのキャプションが長すぎる場合は、キャプションの一部が切り捨てられます。フォームの場合では、タイトル バーよりキャプションの方が長いとき、キャプションの一部が切り捨てられ、末尾に省略記号 (...) が付加されます。

キャプションの文字列の色は、そのコントロールの ForeColor プロパティの値に従います。

ヒント  Caption プロパティと AutoSize プロパティの両方があるコントロールでは、AutoSize プロパティに真 (True) を設定すると、コントロールのサイズはキャプションの文字列の長さに合わせて自動的に調整されます。


ClientHeight、ClientLeft、ClientTop、ClientWidth プロパティ

タブ ストリップ (TabStrip) コントロールの表示領域の大きさと位置を設定します。

構文

object.ClientHeight [ =Single]

object.ClientLeft [ =Single]

object.ClientTop [ =Single]

object.ClientWidth [ =Single]

ClientHeight、ClientLeft、ClientTop、ClientWidth の各プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。ClientHeight プロパティと ClientWidth プロパティには、表示領域の高さと幅をポイント単位で指定します。ClientLeft プロパティと ClientTop プロパティには、タブ ストリップ (TabStrip) コントロールのコンテナの上端と左端からの距離をポイント単位で指定します。
解説

ClientLeft、ClientTop、ClientHeight、ClientWidth の各プロパティには、実行時にタブ ストリップ (TabStrip) コントロールの内部領域の座標位置と大きさが自動的に設定されます。この内部領域は、タブ ストリップ (TabStrip) コントロール内のオブジェクトが共有するものです。


Column プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロール内の 1 つまたは複数の項目を設定します。

構文

object.Column( column, row ) [= Variant]

Column プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
column	省略可能です。指定できる範囲は、0 以上で、列数の合計から 1 を引いた数以下の整数値を指定します。
row	省略可能です。指定できる範囲は、0 以上で、行数の合計から 1 を引いた数以下の整数値を指定します。
Variant	省略可能です。リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに読み込む値を指定します。値は、1 つまたは複数の値をまとめて指定することができます。2 次元配列を指定することもできます。
設定値

Column プロパティで列と行の両方を指定すると、特定の項目を設定できます。または、特定の項目の値を取得できます。

列だけを指定すると、現在選択されている行の中の、指定した列の項目を設定できます。または、その項目の値を取得できます。たとえば、"MyListBox.Column (3)" とすると、オブジェクト MyListBox の 3 列目を設定できます。または、値を取得できます。

Column プロパティは、カーソルからバリアント型 (Variant) の値を返します。組み込みカーソルがバリアント型 (Variant) の値を供給する場合 (AddItem メソッドを使用している場合など)、この値は文字列になります。外部カーソルがバリアント型 (Variant) の値を供給する場合、データと関連付けられているデータ形式は、バリアント型 (Variant) に含まれません。

解説

Column プロパティを使うと、コンボ ボックスまたはリスト ボックスの項目をテキスト ボックスなど別のコントロールに割り当てることができます。たとえば、テキスト ボックス (TextBox) コントロールの ControlSource プロパティの値を、リスト ボックス (ListBox) コントロールの 2 列目に設定したりできます。

コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールの列を参照したときに、どの項目も選択されていないと、Column プロパティには Null 値が設定されます。この状態は、IsNull 関数を使って調べることができます。

また、Column プロパティを使うと、2 次元配列による値の集合全体をコントロールにコピーすることもできます。AddItem メソッドを使って、リストの要素を個別に読み込む代わりにこの構文を使えば、リストの内容全体を一度に読み込むことができます。

メモ  2 次元配列からデータをコピーした場合、コントロールの配列の内容は、ListBox1.Column(X, Y) の内容が MyArray(Y, X) と同様の形式に変換されます。このような変換が行われないようにして配列をコピーするには、List プロパティを使用します。


ColumnCount プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに表示する列の数を設定します。

構文

object.ColumnCount [= Long]

ColumnCount プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。表示する列の数を指定します。
解説

たとえば、社員名簿のフォームで、そのリスト ボックス (ListBox) コントロールの ColumnCount プロパティに 3 を指定して、1 列目には姓を、2 列目には名前を、3 列目には社員コードを表示するものとします。

ColumnCount プロパティに 0 を設定すると、列はすべて表示されなくなります。-1 を設定すると、表示可能な列がすべて表示されます。非連結データ ソースの場合は、最大 10 列 (0 ～ 9) までの制限があります。

コントロールに表示する列の幅を設定するときは、ColumnWidths プロパティを使います。


ColumnHeads プロパティ

コンボ ボックス (ComboBox) コントロール、リスト ボックス (ListBox) コントロール、または列見出しを使用できるオブジェクトで、列の見出しを表示するかどうかを設定します。

構文

object.ColumnHeads [= Boolean]

ColumnHeads プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。列の見出しを表示するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	列の見出しを表示します。
False	列の見出しを表示しません (既定値)。
コンボ ボックス (ComboBox) コントロールの列見出しは、選択項目のリストがドロップダウン表示されるときに限り表示されます。

解説

列見出しには、リストの 1 行目のデータ項目が使われます。列見出しに使うデータ項目を特に指定することはできません。


ColumnWidths プロパティ

複数の列があるコンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールで、各列の幅を設定します。

構文

object.ColumnWidths [= String]

ColumnWidths プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。列の幅をポイント単位で指定します。空白にするか、-1 を指定したときには列幅が算出されます。幅が 0 に設定された列は表示されません。ポイント以外の単位で指定する場合は、単位を明示してください。列の幅には、0 より大きい値を明示的に指定します。
設定値

複数の列の幅を同時に指定するときは、セミコロン (;) を区切り記号に使います。または、Windows のコントロール パネルの [地域] で設定されている区切り記号を使います。

ColumnWidths プロパティは、列幅の一部または全部を省略して設定できます。値の設定を省略するときは、区切り記号だけを記述します。

プロパティ ウィンドウに -1 を指定したときは、プロパティ ウィンドウには何の値も表示されません。

ColumnWidths プロパティを空白にするか、-1 を指定したときに算出される列幅は、コントロールの列幅を一覧のすべての列数で均等に割った値になります。指定した列幅の合計がコントロールの幅を超えた場合は、一覧はコントロールの左端揃えで割り当てられ、右端のいくつかの列は表示されなくなります。水平スクロール バーを使って、一覧をスクロールさせれば右端の列を表示できます。

列幅の下限は、72 ポイント (1 インチ) です。この値より狭い列を作成するには、列幅を明示的に指定しなければなりません。

列幅の指定をすべて省略すると、各列の幅は、コントロール自体の幅を均等割りした値となります。指定した列幅の合計がコントロール自体の幅より大きいと、リストは左端揃えで表示され、コントロールの表示領域の中に収まりきれない右端の列は表示されません。右端の表示されていない列を表示させるには、水平スクロール バーを使います。

列幅を指定するときに単位を省略すると、既定の単位としてポイントが使われます。ポイント以外の単位で指定するには、指定値の中に単位を明示します。次の表は、3 つの列を持ち、幅が 4 インチのリスト ボックス (ListBox) コントロールに対し、さまざまな単位を使って設定した場合の例です。

設定値	説明
90;72;90	1 列目は 90 ポイント (1.25 インチ)、2 列目は 72 ポイント (1 インチ)、3 列目は 90 ポイントに設定されます。
6 cm;0;6 cm	1 列目は 6cm、2 列目は非表示、3 列目は 6cm に設定されます。3 列目の一部はリスト ボックスからはみ出すため、水平スクロール バーが表示されます。
1.5 in;0;2.5 in	1 列目は 1.5 インチ、2 列目は非表示、3 列目は 2.5 インチに設定されます。
2 in;;2 in	1 列目は 2 インチ、2 列目は既定値の 1 インチ、3 列目は 2 インチに設定されます。3 列目は半分しか表示されないため、水平スクロール バーが表示されます。
(すべて省略)	3 列すべてが等幅 (1.33 インチ) に設定されます。
解説

コンボ ボックス (ComboBox) コントロールでは、TextColumn プロパティに指定されている列がテキスト部分に表示されます。


ControlSource プロパティ

コントロールの Value プロパティに設定、または格納するデータの位置を設定します。

構文

object.ControlSource [= String]

ControlSource プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。コントロールの Value プロパティにリンクさせるワークシートのセルを指定します。
解説

ControlSource プロパティはセルまたはフィールドを識別しますが、セルまたはフィールドに入力されているデータ自体は含まれません。コントロールの Value プロパティを変更すると、その変更はリンクされているセルまたはフィールドに自動的に反映されます。同様にセルまたはフィールドの値が変更されると、コントロールの Value プロパティに自動的に反映されます。

ControlSource プロパティに他のコントロールを指定することはできません。そのような処理を行うとエラーが発生します。

ControlSource プロパティの既定値は、長さ 0 の文字列 ("") です。ControlSource プロパティに長さ 0 の文字列以外の値が含まれていると、リンクされているセルまたはフィールドを識別します。コントロールがロードされたとき、セルまたはフィールドのデータが Value プロパティに自動的にコピーされます。

リスト ボックス (ListBox) コントロールのように、複数の値を格納できるコントロールの場合、ControlSource プロパティは、現在選択されている値を対象にします。コントロールの値を変更すると、連結先でも変更後の値が反映されます。

連結コントロールがあるフォームを最初に読み込むと、ワークシートのセルの値が連結コントロールの初期値に使われます。

メモ  Value プロパティが Null 値の場合は、ControlSource プロパティが示す位置に値はありません。


ControlTipText プロパティ

マウスをクリックせずにマウス ポインタをコントロールの上に置いたときに表示する文字列を設定します。

構文

object.ControlTipText [= String]

ControlTipText プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。マウス ポインタをコントロールの上に置いたときに表示する文字列を指定します。
解説

ControlTipText プロパティを使うと、フォームの実行中に、コントロールに関する簡単な内容説明の情報を表示できるます。ControlTipText プロパティはデザイン時にも設定できますが、設定したテキストは実行時にのみ表示できます。

ControlTipText プロパティの既定値は、長さ 0 の文字列 ("") です。ControlTipText プロパティの設定値が長さ 0 の文字列のときは、コントロールの上にマウス ポインタを置いても何も表示されません。


Count プロパティ

コレクションにあるオブジェクトの数を返します。

構文

object.Count

Count プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

Count プロパティは、値の取得のみ可能です。

コレクションの先頭のページまたはタブのインデックス値は 0 で、2 番目のページまたはタブのインデックス値は 1 です。以下同様に続きます。たとえば、2 つのページを持つマルチ ページ (MultiPage) コントロールの場合、Pages コレクションのページのインデックス値はそれぞれ 0 と 1 になり、Count プロパティの値は 2 になります。


CurLine プロパティ

コントロールの現在の行を設定します。

構文

object.CurLine [= Long]

CurLine プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。コントロールの現在の行を指定します。
解説

コントロールの現在の行とは、カーソルが置かれている行のことです。1 行目は、0 で指定します。

CurLine プロパティは、コントロールにフォーカスがあるときに限り使用できます。


CurTargetX プロパティ

複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでの、カーソルの優先水平位置を返します。

構文

object.CurTargetX

CurTargetX プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

CurTargetX プロパティは、優先位置を 1/10mm 単位で返します。

解説

ターゲット位置は、コントロールの左端を基準とします。1 行の長さが CurTargetX プロパティの値より短い場合は、カーソルを行の最後に置くことができます。ユーザーがカーソルを設定すると、または CurX プロパティの設定が行われると、CurTargetX プロパティの値は更新されます。CurTargetX プロパティは、値の取得のみ可能です。

このプロパティの戻り値は、オブジェクトにフォーカスがあるときに限り有効です。

CurTargetX プロパティおよび CurX プロパティを使うと、複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの内容をユーザーがスクロールしているときに、カーソルの位置を動かすことができます。ユーザーがオブジェクトの内容をスクロールさせてカーソルを別の行に移動させた場合、カーソルの優先位置は、CurTargetX プロパティの値によって決まります。テキスト行の長さが CurTargetX プロパティの値より長い場合は、CurTargetX プロパティの値が CurX プロパティに格納されます。短い場合には、テキスト行の最後の値が CurX プロパティに設定されます。


CurX プロパティ

複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでのカーソルの現在の水平位置を指定します。

構文

object.CurX [= Long]

CurX プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。カーソルの現在の位置を 1/10mm 単位で指定します。
解説

CurX プロパティは、複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールで使用できます。戻り値は、オブジェクトにフォーカスがあるときに限り有効です。

CurTargetX プロパティおよび CurX プロパティを使うと、複数行のテキストの取得と表示が設定されているテキスト ボックスまたはコンボ ボックスの内容をユーザーがスクロールしているときに、カーソルの位置を動かすことができます。ユーザーがオブジェクトの内容をスクロールさせてカーソルを別の行に移動させた場合、カーソルの優先位置は CurTargetX プロパティの値によって決まります。テキスト行の長さが CurTargetX プロパティの値より長い場合は、CurTargetX プロパティの値が CurX プロパティに格納されます。短い場合には、テキスト行の最後の値が CurX プロパティに設定されます


Cycle プロパティ

フレーム (Frame) コントロールまたは Page オブジェクト上の最後のコントロールにフォーカスがあるときに Tab キーが押された場合の動作を設定します。

構文

object.Cycle [= fmCycle]

Cycle プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmCycle	省略可能です。フレーム (Frame) コントロールまたはマルチ ページ (MultiPage) コントロール上のコントロールを循環させるかどうかを指定します。
設定値

引数 fmCycle の設定値は次のとおりです。

定数	値	内容
fmCycleAllForms	0	フォーム上のコントロール、およびフォーム上に表示されているフレーム (Frame) コントロールのコントロールとマルチ ページ (MultiPage) コントロールのコントロールを循環します。
FmCycleCurrentForm	2	フォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロール上のコントロールを循環します。フォーカスは、対象のフォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールの外のコントロールに明示的に移されない限り、同じフォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールの中にとどまります。
解説

ユーザーがフォーム上で、Tab キーを押したときにフォーカスが移動するコントロールの順序は、タブ オーダーによって決まります。Cycle プロパティは、タブ オーダーの最後のコントロールにフォーカスがあるときに Tab キーが押された場合の動作を規定します。

設定値が fmCycleAllForms の場合、タブ オーダーの最後のコントロールにフォーカスがあるときに Tab キーを押すと、次のフレーム (Frame) コントロールまたはマルチ ページ (MultiPage) コントロールの先頭のコントロールにフォーカスが移動します。

設定値が fmCycleCurrentForm の場合、タブ オーダーの最後のコントロールにフォーカスがあるときに Tab キーを押すと、同じフォーム、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールの先頭のコントロールにフォーカスが戻ります。


Default プロパティ

フォームの既定のコマンド ボタンにするかどうかを設定します。

構文

object.Default [= Boolean]

Default プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。既定のコマンド ボタンにするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	指定したコマンド ボタン (CommandButton) コントロールを既定のコマンド ボタンにします。
False	指定したコマンド ボタン (CommandButton) コントロールを既定のコマンド ボタンにしません (既定値)。
解説

既定のコマンド ボタンには、コマンド ボタン (CommandButton) コントロールまたはコマンド ボタンのように機能するオブジェクトを指定できます。既定のコマンド ボタンを 1 つのフォームで複数作成することはできません。いずれかのオブジェクトの Default プロパティに真 (True) を設定すると、そのフォームのほかのオブジェクトの Default プロパティは、すべて自動的に偽 (False) が設定されます。

フォームがアクティブなときは、既定のコマンド ボタンで選択します。直接クリックすることによって選択できることはもちろん、フォーカスを持つオブジェクトがほかにないときは Enter キーを押すだけで選択できます。フォーカスを持つオブジェクトがほかにないときに Enter キーを押した場合も、既定のコマンド ボタン (CommandButton) コントロールに対して、KeyUp イベントが発生します。

Default プロパティは、コマンド ボタン (CommandButton) コントロールとして機能する OLE コンテナ コントロールにもあります。

ヒント  削除操作など、元の状態に戻すことができない操作をサポートするフォームでは、キャンセル ボタンを既定のボタンにすることをお勧めします。キャンセル ボタンを既定のボタンに設定するには、Default プロパティと Cancel プロパティの両方に真 (True) を設定します。


Delay プロパティ

スピン ボタン (SpinButton) コントロールまたはスクロール バー (ScrollBar) コントロールで、SpinUp イベント、SpinDown イベント、および Change イベントを発生させる際の遅延時間を設定します。

構文

object.Delay [= Long]

Delay プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。イベントの発生間隔 (遅延時間) をミリ秒単位で指定します。
解説

スピン ボタンまたはスクロール バーのボタンをクリックしたまま離さないでいると、SpinUp イベント、SpinDown イベント、および Change イベントが続けて発生しますが、Delay プロパティは、これらのイベントの発生間隔 (遅延時間) を規定します。1 回目は、遅延なしにイベントが発生します。2 回目は、Delay プロパティの設定値の 5 倍の遅延時間が経過してからイベントが発生します。この初めの遅延時間については、初めからイベントが連続発生することを防ぐために長めに設定されています。

3 回目以降は、Delay プロパティの設定値が示す間隔でイベントが発生します。

Delay プロパティの既定値は 50 ミリ秒です。つまり、2 回目のイベントは 250 ミリ秒 (既定値の 5 倍) が経過した時点で発生し、以降は 50 ミリ秒間隔で発生します。


DragBehavior プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのドラッグ アンド ドロップ機能をオンにするかどうかを設定します。

構文

object.DragBehavior [= fmDragBehavior]

DragBehavior プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmDragBehavior	省略可能です。ドラッグ アンド ドロップ機能をオンにするかどうかを指定します。
設定値

引数 fmDragBehavior の設定値は次のとおりです。

定数	値	内容
fmDragBehaviorDisabled	0	ドラッグ アンド ドロップ操作はできません (既定値)。
fmDragBehaviorEnabled	1	ドラッグ アンド ドロップ操作ができます。
解説

DragBehavior プロパティに 1 が設定されているときに、テキスト ボックスまたはコンボ ボックスの中でドラッグ操作をすると、選択されている文字列を対象にしてドラッグ アンド ドロップ操作が始まります。DragBehavior プロパティに 0 が設定されているときは、ドラッグ操作をしても文字列の選択のみが行われます。

コンボ ボックス (ComboBox) コントロールのドロップダウン部分は、ドラッグ アンド ドロップ処理をサポートしていません。項目一覧の選択もサポートしていません。

DragBehavior プロパティは、Style プロパティに fmStyleDropDownList が設定されているコンボ ボックス (ComboBox) コントロールでは無効です。

メモ  EnterFieldBehavior プロパティと DragBehavior プロパティを組み合わせると、さまざまなスタイルのテキスト ボックスを作成できます。


DrawBuffer プロパティ

フレームを描画するときにディスプレイ表示以外のメモリを確保するために、表示しないピクセル数を指定します。

構文

object.DrawBuffer [= value]

DrawBuffer プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Value	ディスプレイ上での表示とは別に、オブジェクトが表現できる最大のピクセル数を 16,000 から 1,048,576 までの整数で指定します。
解説

DrawBuffer プロパティには、一度に描画できる最大のピクセル数を指定します。オブジェクトで使われる実際のメモリは、ディスプレイの解像度に依存します。DrawBuffer プロパティに大きな値を指定した場合は、パフォーマンスが低下します。複数の大きな画像を重ねるときは、大きなバッファが必要です。

DrawBuffer プロパティに値を指定するには、プロパティ ウィンドウを使います。


DropButtonStyle プロパティ

コンボ ボックス (ComboBox) コントロールのドロップ ボタンに表示する記号を設定します。

構文

object.DropButtonStyle [= fmDropButtonStyle]

DropButtonStyle プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmDropButtonStyle	省略可能です。ドロップ ボタンのスタイルを指定します。
設定値

引数 fmDropButtonStyle の設定値は次のとおりです。

定数	値	内容
fmDropButtonStylePlain	0	ボタン上には何も表示しません。
fmDropButtonStyleArrow	1	下向きの矢印を表示します (既定値)。
fmDropButtonStyleEllipsis	2	省略記号 (...) を表示します。
fmDropButtonStyleReduce	3	アンダースコア文字に似た横棒を表示します。
解説

項目の一覧をリスト形式で表示するときは、fmDropButtonStyleArrow を設定値に使うことをお勧めします。ダイアログ ボックスを表示するなど、別の目的でドロップ ボタンを使うときは、fmDropButtonStyleEllipsis、fmDropButtonStylePlain、または fmDropButtonStyleReduce を指定した上で、DropButtonClick イベントをトラップするようにします。


Enabled プロパティ

コントロールがフォーカスを取得できるかどうか、およびユーザーの操作で発生したイベントに応答するかどうかを設定します。

構文

object.Enabled [= Boolean]

Enabled プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。ユーザーの操作で発生したイベントに応答するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	フォーカスを取得でき、ユーザーの操作で発生したイベントに応答できます。コードを通じて操作することも可能です (既定値)。
False	マウス操作やキー操作 (アクセス キー、ホットキーを含む) でコントロールを操作することはできません。ただし、コードを通じて操作することは可能です。
解説

Enabled プロパティを使うと、コントロールの選択可能/選択不可能を切り替えることができます。Enabled プロパティに偽 (False) を設定したコントロールは淡色表示され、真 (True) を設定したコントロールは通常どおりに表示されます。また、ビットマップを表示するコントロールでは、コントロールが淡色表示されるとビットマップも併せて淡色表示されます。イメージ (Image) コントロールの Enabled プロパティに偽 (False) を設定した場合、コントロールはイベントを発生させませんが、淡色表示されます。

Enabled プロパティと Locked プロパティを組み合わせて使うことによって、次のような効果を得ることができます。

•	Enabled プロパティと Locked プロパティの両方が真 (True) のときは、フォーカスを取得でき、通常どおりに表示されます (淡色表示されません)。コントロールのデータをクリップボードにコピーすることはできますが、編集することはできません。

•	Enabled プロパティが真 (True) で、Locked プロパティが偽 (False) のときは、フォーカスを取得でき、通常どおりに表示されます。コントロールのデータはクリップボードにコピーしたり、編集することができます。

•	Enabled プロパティが偽 (False) で、Locked プロパティが真 (True) のときは、フォーカスを取得できません。また、淡色で表示されます。コントロールのデータは、クリップボードにコピーすることも編集することもできません。

•	Enabled プロパティと Locked プロパティの両方が偽 (False) のときは、フォーカスを取得できません。また、淡色で表示されます。コントロールのデータは、クリップボードにコピーすることも編集することもできません。

Enabled プロパティと TabStop プロパティを組み合わせて使うと、Tab キーを使ったフォーカス移動ではコマンド ボタンを選択できず、クリックしなければ選択できないような設定ができます。TabStop プロパティに偽 (False) を設定すると、そのコマンド ボタンはタブ オーダーから除外されます。ただし、TakeFocusOnClick プロパティに真 (True) が設定されている限り、Enabled プロパティに真 (True) を設定すると、クリックすることで選択できるようになります。

Enabled プロパティに真 (True) が設定されているマルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールに Tab キーを使ってフォーカスを移すと、そのコントロールの先頭のページまたはタブがフォーカスを取得します。この先頭のページまたはタブの Enabled プロパティに偽 (False) が設定されている場合は、Enabled プロパティに真 (True) が設定されている中で、先頭のページまたはタブがフォーカスを取得します。すべてのコントロールの Enabled プロパティに偽 (False) が設定されている場合は、マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロール自体の Enabled プロパティにも、偽 (False) が設定されてフォーカスを取得することができなくなります。

フレーム (Frame) コントロールの Enabled プロパティに偽 (False) を設定すると、その上にあるコントロールの Enabled プロパティもすべて偽 (False) が設定されます。

選択不可のリスト ボックス (ListBox) コントロールをクリックしても、Click イベントは発生しません。


EnterFieldBehavior プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールがフォーカスを取得したときの選択動作を設定します。

構文

object.EnterFieldBehavior [= fmEnterFieldBehavior]

EnterFieldBehavior プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmEnterFieldBehavior	省略可能です。選択動作を指定します。
設定値

引数 fmEnterFieldBehavior の設定値は次のとおりです。

定数	値	内容
fmEnterFieldBehaviorSelectAll	0	コントロールがフォーカスを取得したときに、その編集領域の内容をすべて選択します (既定値)。
FmEnterFieldBehaviorRecallSelection	1	選択内容を変更しません。前回にコントロールがアクティブだったときの選択内容に従います。
解説

EnterFieldBehavior プロパティは、ユーザーがタブを使用してコントロールに移動したときの、文字列の選択方法を制御します。SetFocus メソッドを呼び出した結果、コントロールがフォーカスを受け取ったときには影響はありません。SetFocus メソッドはコントロールの内容は選択しませんが、カーソル位置はコントロールの編集領域の文字列の末尾になります。


EnterKeyBehavior プロパティ

テキスト ボックス (TextBox) コントロールにフォーカスがあるときに、Enter キーを押した場合の動作を設定します。

構文

object.EnterKeyBehavior [= Boolean]

EnterKeyBehavior プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。Enter キーを押したときの動作を指定します。
設定値

引数 Boolean プロパティの設定値は次のとおりです。

値	内容
True	Enter キーを押すと新しい行が作成されます。
False	Enter キーを押すとタブ オーダーの次のオブジェクトにフォーカスが移ります (既定値)。
解説

EnterKeyBehavior プロパティと MultiLine プロパティは、密接に関連しています。EnterKeyBehavior プロパティの設定値は、MultiLine プロパティに真 (True) が設定されている場合に限り適用されます。MultiLine プロパティに偽 (False) が設定されているときは、EnterKeyBehavior プロパティの設定値に関係なく、Enter キーを押すとタブ オーダー次のコントロールにフォーカスが移ります。

Ctrl キーを押しながら Enter キーを押した場合の動作も、MultiLine プロパティの設定値に依存します。MultiLine プロパティに真 (True) が設定されているときは、Ctrl キーを押しながら Enter キーを押すと、EnterKeyBehavior プロパティの設定値に関係なく新しい行が作成されます。MultiLine プロパティに偽 (False) が設定されているときは、Ctrl キーを押しながら Enter キーを押しても何の動作も発生しません。


ForeColor プロパティ

オブジェクトの前景色を設定します。

構文

object.ForeColor [= Long]

ForeColor プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。オブジェクトの背景色を表す値または定数を指定します。
設定値

引数 long には、有効な色を表す任意の整数値を指定します。RGB 関数を使って色を指定することもできます。RGB 関数を使うときは、色の成分を赤、緑、青に分け、その組み合わせで色を指定します。それぞれの色成分は、0 ～ 255 の整数値によって表します。たとえば、明るい緑色は、整数値 4966415 を使って指定するか、または RGB 関数を使って、赤、緑、青の各色成分を 15、200、75 として指定します。

解説

ForeColor プロパティを使うと、コントロールをフォーム上で見やすくしたり、特別な意味を表したりすることができます。たとえば、在庫数を表示するテキスト ボックス (TextBox) コントロールでは、再発注が必要な数まで在庫が減ったら前景色を変更することができます。

スクロール バー (ScrollBar) コントロールおよびスピン ボタン (SpinButton) コントロールでは、ForeColor プロパティは矢印の色に適用されます。フレーム (Frame) コントロールでは、キャプションの色に適用されます。Font オブジェクトでは、テキストの色に適用されます。


GroupName プロパティ

オプション ボタン (OptionButton) コントロールのグループを作成します。

構文

object.GroupName [= String]

GroupName プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オプション ボタン (OptionButton) コントロールの名前を指定します。
String	省略可能です。オプション ボタン (OptionButton) コントロールが含まれるグループの名前を指定します。グループ内のすべてのオプション ボタンに同じ設定値を使います。既定値は、長さ 0 の文字列 ("") です。
解説

オプション ボタンは、あるグループの中から 1 つの項目だけを選択するときに使います。オプション ボタン (OptionButton) コントロールのグループを作成するには、フォーム上のフレーム (Frame) コントロールにオプション ボタンを配置するか、GroupName プロパティを使用します。GroupName プロパティは、次のような理由でより効果的です。

•	フレーム (Frame) コントロールをすべてのグループに含める必要はありません。フレーム (Frame) コントロールを使わなければ、フォーム上のコントロールの数を減らすことができます。さらにパフォーマンスを向上させ、フォームのサイズを小さくできます。

•	ユーザーはより柔軟なデザインができます。グループの作成にフレーム (Frame) コントロールを使った場合、すべてのオプション ボタンをフレーム (Frame) コントロール内に配置しなければなりません。複数のグループが必要な場合は、各グループごとに 1 つのフレーム (Frame) コントロールを作成しなければなりません。ただし、グループの作成に GroupName プロパティを使用した場合は、フォーム上のどこにでもオプション ボタンを配置したグループを作成できます。複数のグループが必要な場合は、各グループに重複しない名前を付けます。フォーム上の任意の場所に個々のコントロールを配置できます。

•	背景を透明に設定したボタンを作成できます。フレーム (Frame) コントロールは透明なコントロールではありません。

オプション ボタンのグループを作成すると、グループ内の 1 つのオプション ボタンをクリックすると、同じグループ内の他のオプション ボタンには偽 (False) が設定されます。1 つのコンテナの中で、同じ GroupName プロパティを持つすべてのオプション ボタンの中から 1 つの項目だけが選択できます。2 つのコンテナがあれば、同じ名前のグループを使用できますが、両方のコンテナに 1 つずつオプション ボタンを配置するより、2 つのグループ (各コンテナに 1 つ) を作成することをお勧めします.。

たとえば、いくつかのオプション ボタンを配置したフォームと、同様にいくつかのオプション ボタンを配置したマルチ ページ (MultiPage) コントロールがあるものとします。マルチ ページ (MultiPage) コントロールに配置したオプション ボタンは 1 つのグループで、フォームに配置したオプション ボタンは別のグループになります。2 つのグループは互いに影響しません。マルチ ページ (MultiPage) コントロールに配置したオプション ボタンの選択を変更しても、フォームに配置したオプション ボタンには影響しません。


Height、Width プロパティ

オブジェクトの高さまたは幅をポイント単位で指定します。

構文

object.Height [= Single]

object.Width [= Single]

Height プロパティおよび Width プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。オブジェクトの大きさを表す数値式を指定します。
解説

コントロールを移動させたり、そのサイズを変更すると、Height プロパティと Width プロパティの設定値が自動的に更新されます。コントロールのサイズを変更すると、変更後の高さと幅が Height プロパティと Width プロパティに設定され、変更前の高さと幅は OldHeight プロパティと OldWidth プロパティに設定されます。Left プロパティおよび Top プロパティの値は、コントロールの高さまたは幅を決めるために使われているため、これらのプロパティに負の値を設定するとコントロールの一部がフォームからはみ出します。

あるフォーム上のコントロールを他のフォームに移動させた場合、Height プロパティと Width プロパティの設定値は、動かしながらサイズも変更した場合に限り、更新されます。Left プロパティと Top プロパティの値は、フォームの左上端を基準とする座標位置 (変更後の位置) を反映する形で更新されます。

Height プロパティおよび Width プロパティには、0 以上の値を指定する必要があります。通常のシステムの場合は、0 から +32,767 までの値を指定することをお勧めします。システムの構成によっては、これより大きい値を指定しても正常に動作します。


HelpContextID プロパティ

ユーザーが独自に作成したヘルプ ファイル内のトピックをコントロールと関連付けます。

構文

object.HelpContextID [= Long]

HelpContextID プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。指定したオブジェクトと関連付けるヘルプ トピックのコンテキスト ID (正の整数値) を指定します。ヘルプ トピックとオブジェクトを関連付けない場合は、0 を指定します (既定値)。該当するヘルプ ファイルの有効なコンテキスト ID を指定する必要があります。
解説

HelpContextID プロパティの設定値が示すトピックは、フォームの実行中に呼び出すことができます。ヘルプ トピックを表示するには、対象となるコントロールを選択してから F1 キーを押すか、またはそのコントロールにフォーカスがあるときに F1 キーを押します。

HelpContextID プロパティは、フォームやアプリケーションの説明用にユーザーが独自に作成したヘルプ ファイルのトピックを参照するためのものです。Visual Basic では、独自に作成したヘルプ ファイルはプロジェクトのプロパティとして扱われます。


HideSelection プロパティ

コントロールにフォーカスがないときでも、選択されている文字列を強調表示のままにしておくかどうかを設定します。

構文

object.HideSelection [= Boolean]

HideSelection プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。コントロールがフォーカスを失っても、選択されている文字列を強調表示のままにしておくかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	選択されている文字列は、そのコントロールにフォーカスがあるときに限り強調表示されます (既定値)。
False	選択されている文字列は、常に強調表示されます。
解説

HideSelection プロパティを使うと、スペル チェック処理のようなときなど、別のフォームやダイアログ ボックスにフォーカスが移動した後でも、選択されている文字列を強調表示のままにしておくことができます。


IMEMode プロパティ

コントロールがフォーカスを取得したときの日本語入力システム (IME) の既定の実行時モードを設定します。

構文

object.IMEMode [= fmIMEMode]

IMEMode プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmIMEMode	省略可能です。日本語入力システム (IME) のモードを指定します。
設定値

引数 fmIMEMode の設定値は次のとおりです。

定数	値	内容
fmIMEModeNoControl	0	IME のモードを変更しません (既定値)。
fmIMEModeOn	1	IME をオンにします。
fmIMEModeOff	2	IME をオフにして英語モードにします。
fmIMEModeDisable	3	IME をオフにします。このモードにするとユーザーは、キー操作によっても IME をオンにすることができなくなります。
fmIMEModeHiragana	4	全角ひらがなモードで IME をオンにします。
fmIMEModeKatakana	5	全角カタカナ モードで IME をオンにします。
fmIMEModeKatakanaHalf	6	半角カタカナ モードで IME をオンにします。
fmIMEModeAlphaFull	7	全角英数モードで IME をオンにします。
fmIMEModeAlpha	8	半角英数モードで IME をオンにします。
fmIMEModeHangulFull	9	全角ハングル モードで IME をオンにします。
fmIMEModeHangul	10	半角ハングル モードで IME をオンにします。
fmIMEModeNoControl を指定すると、実行時にコントロールがフォーカスを取得しても、IME のモードが自動的に切り替わることはありません。その他の値を指定すると、IME のモードは、コントロールが実行時にフォーカスを取得した際に IMEMode プロパティの設定値に従って自動的に切り替わります。

解説

IME のモードの設定方法には 2 つあります。1 つは IME のツールバーを使う方法です。もう 1 つはコントロールの IMEMode プロパティによる方法です。IMEMode プロパティは、IME のモードを変更したり、現在の IME のモードを確認するときに使います。IMEMode プロパティを使うと、IME のモードを実行時にコードから操作できるようになります。

ここでは例を挙げながら、IMEMode プロパティと IME ツールバーの状態との関係について説明します。たとえば、2 つのテキスト ボックス (TextBox1 と TextBox2) があるフォームを作成したものとします。TextBox1.IMEMode には 0 を設定し、TextBox2.IMEMode には 1 を設定します。最後に、デザイン時に IME ツールバーを使って IME のモードを 2 に切り替えます。

この状態でフォームを実行すると、IME はモード 2 で始まります。TextBox1 をクリックしても、このコントロールの IMEMode プロパティの設定値が 0 になっているため、IME のモードは変更されません。次に、TextBox2 をクリックすると、このコントロールの IMEMode プロパティは 1 が設定されているので、IME のモードは 1 に切り替わります。IMEMode プロパティの設定値が 0 のコントロールでは、直前の IME のモードが引き継がれるので、もう一度 TextBox1 をクリックしても IME のモードは 1 のままです。

ただし、IMEMode プロパティで設定した IME のモードは、後からでも変更できます。たとえば、TextBox2 をクリックすると、IME のモードは IMEMode プロパティの設定値に従って 1 に切り替わります。ここで IME ツールバーを使って IME のモードを 3 に変更した場合、それ以降に TextBox2 をクリックすると IME のモードが 3 に切り替わっています。この場合でも、IMEMode プロパティの設定値自体は更新されないため、フォームが再実行されるまで IME のモードは 変更された設定のままです。


Index プロパティ

Tabs コレクション内における Tab オブジェクトの位置、または Pages コレクション内における Page オブジェクトの位置を設定します。

構文

object.Index [= Integer]

Index プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Integer	省略可能です。現在選択されている Tab オブジェクトのインデックスを指定します。
解説

Index プロパティは、タブまたはページの表示順序を規定します。Index プロパティの設定値を変更すると、マルチ ページ (MultiPage) コントロールの場合は Pages コレクションの表示順序が、タブ ストリップ (TabStrip) コントロールの場合は Tabs コレクションの表示順序がそれぞれ変わります。先頭のページまたはタブのインデックスの値は 0 です。2 番目のページまたはタブのインデックスの値は 1 です。以下同様に続きます。

マルチ ページ (MultiPage) コントロールでは、Index プロパティは、Page オブジェクトと併せてそのページの Tab オブジェクトも参照します。タブ ストリップ (TabStrip) コントロールでは、Index プロパティはタブだけを参照します。


InsideHeight、InsideWidth プロパティ

InsideHeight プロパティは、フォームの中のクライアント領域の高さをポイント単位で返します。InsideWidth プロパティは、フォームの中のクライアント領域の幅をポイント単位で返します。

構文

object.InsideHeightk

object.InsideWidth

InsideHeight プロパティおよび InsideWidth プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

InsideHeight プロパティおよび InsideWidth プロパティは、値の取得のみ可能です。クライアント領域の中にスクロール バーがあっても、戻り値はスクロール バーの高さまたは幅を除外した値となります。


IntegralHeight プロパティ

リスト ボックス (ListBox) コントロールまたはテキスト ボックス (TextBox) コントロールのリストの中にすべてのテキスト行を表示するか、一部のテキスト行を表示するかを設定します。

構文

object.IntegralHeight [= Boolean]

IntegralHeight プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。リストにテキスト行のすべてが表示できるようにするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	すべての項目が表示されるように、リストのサイズを自動的に調整します (既定値)。
False	すべての項目を表示できないときでも、リストのサイズを変更しません。
解説

AutoSize プロパティがリストの幅を規定するものであるのと同様、IntegralHeight プロパティはリストの高さを規定するものです。

IntegralHeight プロパティに真 (True) を設定すると、すべての行がリストに表示されるように、リスト ボックス (ListBox) コントロールのサイズが自動的に変更されます。偽 (False) を設定すると、コントロールのサイズは固定されたままです。リストの中にすべての行が収まらないときは、表示できる分だけが表示されます。


TakeFocusOnClick プロパティ

コントロールがクリックされたときに、フォーカスを取得できるかどうかを設定します。

構文

object..TakeFocusOnClick [= Boolean]

TakeFocusOnClick プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。コントロールがクリックされたときに、フォーカスを取得できるかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	クリックされたら、フォーカスを取得します (既定値)。
False	クリックされても、フォーカスを取得しません。
解説

TakeFocusOnClick プロパティの設定値は、ユーザーがコントロールをクリックした場合にのみ適用されます。Tab キーを使ってフォーカスが移動された場合は、TakeFocusOnClick プロパティの設定値に関係なく、フォーカスを取得します。

あるコントロールに対する処理を別のコントロールから実行するときに、このプロパティを使うと対象となるコントロールにフォーカスを移動させずに処理を実行できます。たとえば、テキスト ボックス (TextBox) コントロールとコマンド ボタン (CommandButton) コントロールがフォーム上に配置されていて、コマンド ボタンをクリックすると、テキスト ボックスで選択されている文字列のスペルがチェックされるものとします。このような場合、コマンド ボタンをクリックしてもフォーカスをテキスト ボックスに残したまま、スペルチェック処理を行うためには、コマンド ボタン (CommandButton) コントロールの TakeFocusOnClick プロパティに偽 (False) を設定します。


KeepScrollBarsVisible プロパティ

スクロール バーを常に表示するかどうかを設定します。

構文

object.KeepScrollBarsVisible [= fmScrollBars]

KeepScrollBarsVisible プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmScrollBars	省略可能です。スクロール バーを表示するかどうかを指定します。
設定値

引数 fmScrollBars の設定値は次のとおりです。

定数	値	内容
fmScrollBarsNone	0	スクロール バーを表示しません。
fmScrollBarsHorizontal	1	水平スクロール バーを表示します。
fmScrollBarsVertical	2	垂直スクロール バーを表示します。
fmScrollBarsBoth	3	水平スクロール バーと垂直スクロール バーの両方を表示します (既定値)。
解説

Page オブジェクトやフォームの表示領域にすべてのコントロールを表示できるときは、スクロール バーは必要ありません。KeepScrollBarsVisible プロパティを使うと、このような必要のない場合でもスクロール バーを表示するかどうかを指定できます。

必要のないときにスクロール バーを表示させると、スクロール バーは通常のサイズで表示されますが、スクロール バーの表示領域は、スクロール ボックスで占められることになります。


LargeChange プロパティ

スクロール バーの矢印ボタンとスクロール ボックスの間の領域をクリックしたときに移動するスクロール量を設定します。

構文

object.LargeChange [= Long]

LargeChange プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。Value プロパティの値の変更量を表す整数値を指定します。
解説

LargeChange プロパティの値は、スクロール バー (ScrollBar) コントロールのみに適用されます。テキスト ボックス (TextBox) コントロールや選択項目のリストを持つコンボ ボックス (ComboBox) コントロールのような他コントロールのスクロール バーには、適用されません。

LargeChange プロパティの値は、スクロール バーの矢印ボタンとスクロール ボックスの間の領域をクリックすると変化する、スクロール バー (ScrollBar) コントロールの Value プロパティの値の増減量を表します。スクロールの方向は常にクリックした方向です。たとえば、水平スクロール バー (ScrollBar) コントロールの場合、スクロール ボックスの左側の領域をクリックすると、スクロール ボックスは左側に移動します。垂直スクロール バー (ScrollBar) コントロールの場合、スクロール ボックスの上側の領域をクリックすると、スクロール ボックスは上側に移動します。

LargeChange プロパティの値には、単位がなく、任意の整数値を指定できますが、-32,767 ～ +32,767 の範囲で指定することをお勧めします。ただし、スクロール バー (ScrollBar) コントロールの Max プロパティと Min プロパティの値の範囲内で指定しなければなりません。


LayoutEffect プロパティ

レイアウトの変更中にコントロールの位置が動かされたかどうかを返します。

構文

object.LayoutEffect

LayoutEffect プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

LayoutEffect プロパティの値は次のとおりです。

定数	値	内容
fmLayoutEffectNone	0	コントロールは動かされていません。
fmLayoutEffectInitiate	1	コントロールは動かされました。
解説

LayoutEffect プロパティは、値の取得のみ可能で、Layout イベントでのみ使用できます。Layout イベントは、引数 Layout に真 (True) を指定しいる Move メソッドを呼び出すと発生します。

コントロールの Left、Top、Height、Width の各プロパティの設定値を変更しても、Layout イベントは発生しません。

Layout イベントが発生すると、移動操作に関連するすべてのコントロールの LayoutEffect プロパティに fmLayoutEffectInitiate(1) が設定されます。たとえば、一度に複数のコントロールを移動させると、各コントロールの LayoutEffect プロパティに fmLayoutEffectInitiate(1) が設定されます。


Left、Top プロパティ

コントロールの位置を、フォームの左端または上端からの距離を基準にして設定します。

構文

object.Left [= Single]

object.Top [= Single]

Left プロパティおよび Top プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。オブジェクトの位置の座標を表す数値式を指定します。
設定値

Left プロパティに 0 を設定すると、コントロールはフォームまたはコンテナの左端に配置されます。同様に、Top プロパティに 0 を設定すると、コントロールはフォームまたはコンテナの上端に配置されます。

解説

一般的なシステムでは、Left プロパティおよび Top プロパティは、-32,767 ～ +32,767 の範囲で設定することをお勧めします。システムの構成によっては、この範囲を超える値を指定しても正常に動作します。コンボ ボックス (ComboBox) コントロールの場合、この 2 つのプロパティの設定値は、リスト部分ではなく、テキスト部分に適用されます。コントロールを移動させたり、サイズを変更すると、Left プロパティおよび Top プロパティの新しい値が自動的にプロパティ ウィンドウにも反映されます。フォームを印刷するとき、コントロールの横位置と縦位置は、Left プロパティと Top プロパティの設定値によってそれぞれ決まります。


LineCount プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに入力されているテキストの行数を返します。

構文

object.LineCount

LineCount プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

LineCount プロパティは、値の取得のみ可能です。

メモ  コンボ ボックス (ComboBox) コントロールは、入力できる行数が 1 行に制限されています。


List プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのリストの項目を設定します。値の取得も可能です。

構文

object.List( row, column ) [= Variant]

List プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
row	必ず指定します。0 以上で、リストの項目数から 1 を引いた数以下の整数値を指定します。
column	必ず指定します。0 以上で、列の数から 1 を引いた数以下の整数値を指定します。
Variant	省略可能です。リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに追加する項目の内容を指定します。
設定値

行および列は、0 から番号が付けられます。つまり、リストの 1 行目の行番号と 1 列目の列番号は 0 となり、2 行目と 2 列目の番号は 1 となります。以下同様に続きます。

解説

List プロパティは、ListCount プロパティおよび ListIndex プロパティと密接に関連し合っています。List プロパティは、リストの項目を操作するときに使います。リストは配列と考えることもできます。リスト内の項目はそれぞれが行番号と列番号を持ちます。

コンボ ボックス (ComboBox) コントロールおよびリスト ボックス (ListBox) コントロールのリストの中身は、初期状態では空です。

メモ  コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールに表示する項目を追加するには、AddItem メソッドを使います。項目を削除するには、RemoveItem メソッドを使います。

List プロパティを使うと、値を 2 次元配列の形でコントロールにコピーすることができます。AddItem メソッドを使うと、1 次元配列やリストの要素を追加することができます。


ListCount プロパティ

コントロールのリストの項目数を返します。

構文

object.ListCount

ListCount プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

ListCount プロパティは、値の取得のみ可能です。ListCount プロパティは、スクロールして表示できる行数の合計を返します。一度に表示できる行数を指定するには、ListRows を使用します。ListCount プロパティの値は、常に ListIndex プロパティの最大値より 1 大きい値となります。これは、インデックス番号が 0 から数えるのに対して、項目数は 1 から数えるためです。選択されている項目がないときは、ListCount プロパティには 0 が設定され、ListIndex プロパティには -1 が設定されます。


ListIndex プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールで、現在選択されている項目を返します。

構文

object.ListIndex [= Variant]

ListIndex プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。コントロールで、現在選択されている項目を示します。
解説

ListIndex プロパティは、リストの中で現在選択されている行のインデックスを示します。ListIndex プロパティの値の範囲は、-1 以上で、リスト内の全行数から 1 を引いた数 (ListCount プロパティ -1) 以下です。どの行も選択されていない場合、ListIndex プロパティは -1 を返します。リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでいずれかの行を選択すると、そのインデックス番号が ListIndex プロパティに設定されます。たとえば、リストの 1 行目を選択すると、ListIndex プロパティには 0 が設定され、2 行目を選択すると 1 が設定されます。

メモ  リスト ボックス (ListBox) コントロールで、MultiSelect プロパティを使って複数選択を許可している場合、選択されている行を調べるには、ListIndex プロパティの代わりに Selected プロパティを使います。Selected プロパティは、リスト ボックス (ListBox) コントロールの行数を要素数とする配列で構成されます。リストの各行について、Selected プロパティは、その行が選択されていれば真 (True) を返し、選択されていなければ偽 (False) を返します。複数行の選択ができるリスト ボックス (ListBox) コントロールの ListIndex プロパティは、どの行が選択されているかにかかわらず、フォーカスがある行のインデックスを返します。

ListIndex プロパティの値は、コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールで、BoundColumn プロパティに 0 を設定している場合にも使用されます。BoundColumn プロパティに 0 を設定している場合、コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールに連結されている基になるデータ ソースには、ListIndex プロパティの値 (インデックス値) が格納されます。


ListRows プロパティ

コンボ ボックス (ComboBox) コントロールのリストに一度に表示できる行の最大数を設定します。

構文

object.ListRows [= Long]

ListRows プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。最大行数を表す整数値を指定します。既定値は 8 です。
解説

ListRows プロパティの値よりリストの項目数が多くなると、コンボ ボックス (ComboBox) コントロールのリスト部分の右端にスクロール バーが表示されます。


ListStyle プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのリスト部分の表示スタイルを設定します。

構文

object.ListStyle [= fmListStyle]

ListStyle プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmListStyle	省略可能です。リストの表示スタイルを指定します。
設定値

引数 fmListStyle の設定値は次のとおりです。

定数	値	内容
fmListStylePlain	0	通常のスタイルのリスト ボックスを表示します。項目の背景が強調表示されます。
fmListStyleOption	1	複数の選択ができるオプション ボタンまたはチェック ボックスを表示します (既定値)。いずれかの項目を選択すると、その項目のオプション ボタンが選択され、その他の項目のオプション ボタンは選択がすべて解除されます。
解説

ListStyle プロパティを使うと、リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのスタイルを変更できます。引数に fmListStylePlain 以外の値を指定すると、項目の集合体としてコントロールの一覧とその項目が選択されているかどうかが表示されます。

コントロールの MultiSelect プロパティに fmMultiSelectSingle が設定されていて、複数選択が許可されていない場合は、1 つのボタンしか選択できません。複数選択が許可されている場合は、複数のボタンを選択できます。


ListWidth プロパティ

コンボ ボックス (ComboBox) コントロールのリスト部分の幅を設定します。

構文

object.ListWidth [= Variant]

ListWidth プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。リストの幅を指定します。0 を設定すると、コンボ ボックス (ComboBox) コントロールの幅と同じになります。既定値は、コントロールのテキスト部分の幅と同じになります。
解説

複数の列から構成されるリストの場合は、できる限りすべての列を表示できる幅を設定してください。

ヒント  コンボ ボックス (ComboBox) コントロールをデザインするときは、表示するデータと併せて垂直スクロール バーも表示できる幅を設定してください。


Locked プロパティ

コントロールを編集可能にするかどうかを設定します。

構文

object.Locked [= Boolean]

Locked プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。コントロールを編集可能にするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	値の編集ができないようにします。
False	値の編集ができるようにします (既定値)。
解説

編集不可になっていても、Enabled プロパティに真 (True) が設定されていれば、イベントが発生し、フォーカスを取得することも可能です。


MatchEntry プロパティ

リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールで、ユーザーの文字入力に基づいて、リストの項目を検索する際の規則を設定します。値の取得も可能です。

構文

object.MatchEntry [= fmMatchEntry]

MatchEntry プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmMatchEntry	省略可能です。リスト内の項目検索に使う規則を指定します。
設定値

引数 fmMatchEntry の設定値は次のとおりです。

定数	値	内容
fmMatchEntryFirstLetter	0	基本マッチングを行います。入力した文字と 1 文字目が一致する候補を検索します。同じ文字を繰り返し入力すると、その文字で始まる項目を続けて検索できます。
fmMatchEntryComplete	1	拡張マッチングを行います。入力した文字とすべて一致する項目を検索します (既定値)。
fmMatchEntryNone	2	マッチングを行いません。
解説

MatchEntry プロパティは、リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの TextColumn プロパティの項目の検索方法を指定します。

コントロールに文字を入力すると、TextColumn プロパティが示す列を対象にして、入力した文字列と一致する項目があるかどうかが検索されます。一致する項目が見つかると、その項目を含む行が選択され、その列の内容が表示され、BoundColumn プロパティの内容がコントロールの値になります。一致する項目が確定されると、Click イベントが発生します。

ユーザーが入力した文字列とリストの中で一致する項目が 1 つに限定されると、その時点で Click イベントが発生します。文字を入力すると、その入力内容がリストの現在の行と比較され、続けて次の行と比較されます。このとき、現在の行のみと一致する場合は、マッチングが確定されます。

Microsoft Forms では、リストが並び替えられているかどうかに関係なく、この規則が適用されます。つまり、リスト内での項目の順序どおりに最初に一致する項目が検索の対象となります。たとえば、次のようなリストの場合は、"abc" と入力しても "bc" と入力しても Click イベントが発生します。

abcde

bcdef

abcxyz

bchij

いずれの場合も、ほかにも一致する項目がありまが、隣接する項目に一致する項目がないため、マッチングが確定し、Click イベントが発生します。


MatchFound プロパティ

ユーザーがコンボ ボックス (ComboBox) コントロールに入力した文字列と一致する項目がリストの中にあるかどうかを返します。

構文

object.MatchFound

MatchFound プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
戻り値

MatchFound プロパティの戻り値は次のとおりです。

値	内容
True	Value プロパティの内容と一致するレコードがリストの中に見つかりました。
False	Value プロパティの内容と一致するレコードがリストの中に見つかりませんでした (既定値)。
解説

MatchFound プロパティは、値の取得のみ可能です。MatchEntry プロパティに fmMatchEntryNone が設定されているときは、このプロパティを使用できません。


MatchRequired プロパティ

コンボ ボックス (ComboBox) コントロールのテキスト部分に値を入力する際に、リスト内に既にある項目と一致する値しか入力できないようにするかどうかを設定します。どの項目とも一致しない値でも入力だけはできますが、一致する値が入力されるまでフォーカスを別のコントロールに移すことができません。

構文

object.MatchRequired [= Boolean]

MatchRequired プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。リスト内に既にある項目と一致する値しか入力できないようにするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	リスト内に既にある項目と一致する文字列のみを入力できます。
False	リスト内のどの項目とも一致しない文字列も入力できます (既定値)。
解説

MatchRequired プロパティに真 (True) が設定されているコンボ ボックス (ComboBox) コントロールでは、リスト内に既にある項目と一致する値を入力しないと、フォーカスを別のコントロールに移すことができません。MatchRequired プロパティを使うと、ユーザーは既存の項目の中からしか選択できなくなるため、リストの項目が変更されることを防ぐことができます。

メモ  コンテナによっては、このプロパティの設定値が適用されないことがあります。


Max, Min プロパティ

スピン ボタン (SpinButton) コントロールまたはスクロール バー (ScrollBar) コントロールの Value プロパティに設定できる最大値と最小値を設定します。

構文

object.Max [= Long]

object.Min [= Long]

Max プロパティおよび Min プロパティは、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。Value プロパティに設定できる最大値または最小値を表す数値式を指定します。
解説

スピン ボタン (SpinButton) コントロールをクリックしたり、またはスクロール バー (ScrollBar) コントロールのスクロール ボックスを動かすと、Value プロパティの値が増減します。

Max プロパティの値は、垂直スクロール バー (ScrollBar) コントロールの下端または水平スクロール バー (ScrollBar) コントロールの右端を表します。同様に、Min プロパティの値は、垂直スクロール バー (ScrollBar) コントロールの上端または水平スクロール バー (ScrollBar) コントロールの左端を表します。

このプロパティに指定できる範囲を次に示します。

スピン ボタン (SpinButton) コントロールの場合  Min = 0 (既定値)  Max = 100

スクロール バー (ScrollBar) コントロールの場合  Min = 0  Max = 32,767

メモ  Min プロパティおよび Max プロパティは、スクロール バー (ScrollBar) コントロール上の絶対位置を表す値であり、相対的な位置を表す値ではありません。したがって、Min プロパティの値より小さい値を Max プロパティに指定することもできます。この場合は、Max プロパティの値の方向 (下方向) に移動させると、Value プロパティの値は減少します。また、Min プロパティの値の方向 (上方向) に移動させると、Value プロパティの値は増加します。


MaxLength プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに入力できる最大文字数を設定します。

構文

object.MaxLength [= Long]

MaxLength プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。最大文字数を表す整数値を指定します。
解説

入力できる文字数を制限しないときは、MaxLength プロパティに 0 を指定します。ただし、この場合でもメモリによる制約はあります。


MouseIcon プロパティ

オブジェクトに割り当てるユーザー定義のアイコンを設定します。

構文

object.MouseIcon = LoadPicture( pathname )

MouseIcon プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
pathname	必ず指定します。ユーザー定義のアイコンのファイルのパスとファイル名を表す文字列式を指定します。
解説

MouseIcon プロパティは、MousePointer プロパティに 99 が設定されているときに限り有効です。オブジェクトのマウス アイコンとは、そのオブジェクトの上にマウス ポインタを置くと表示されるイメージのことです。

マウス ポインタに使うイメージを設定するには、MouseIcon プロパティを使ってピクチャを割り当てるか、または LoadPicture 関数を使ってファイルからピクチャを読み込みます。


MousePointer プロパティ

指定したオブジェクトの上にマウス ポインタを置いたときに表示するマウス ポインタの形状を設定します。

構文

object.MousePointer [= fmMousePointer]

MousePointer プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmMousePointer	省略可能です。マウス ポインタの形状を指定します。
設定値

引数 fmMousePointer の設定値は次のとおりです。

定数	値	内容
fmMousePointerDefault	0	標準のポインタ。形状はオブジェクトによります (既定値)。
fmMousePointerArrow	1	矢印。
fmMousePointerCross	2	十文字型のポインタ。
fmMousePointerIBeam	3	I - ビーム。アルファベットの "I" の形のポインタ。
fmMousePointerSizeNESW	6	右上と左下の 2 方向を指す矢印。
fmMousePointerSizeNS	7	上下の 2 方向を指す矢印。
fmMousePointerSizeNWSE	8	左上と右下の 2 方向を指す矢印。
fmMousePointerSizeWE	9	左右の 2 方向を指す矢印。
fmMousePointerUpArrow	10	上方向を指す矢印。
fmMousePointerHourglass	11	砂時計。
fmMousePointerNoDrop	12	禁止記号 (円の中に対角線)。ドラッグしているオブジェクトの上に表示されます。不正なドロップ ターゲットを表します。
fmMousePointerAppStarting	13	砂時計付き矢印。
fmMousePointerHelp	14	疑問符付き矢印。
fmMousePointerSizeAll	15	上下左右の 4 方向を指す矢印。
fmMousePointerCustom	99	MouseIcon プロパティに指定されているアイコン。
解説

MousePointer プロパティは、マウス ポインタの形状を管理します。このプロパティは、マウス ポインタがフォームやダイアログ ボックス上を通過したときに生じる機能上の変化を視覚的に表現する場合に使われます。たとえば、砂時計 (MouseIcon プロパティに 11 を設定) を表示して、処理または操作が終了するまで待機するように、ユーザーに指示できます。

アイコンの中には、デスクトップ テーマと関連付けられているアイコンなど、システムの設定に依存しているものもあります。


MultiLine プロパティ

テキスト ボックス (TextBox) コントロールで、複数行のテキストの取得と表示を許可するかどうかを設定します。

構文

object.MultiLine [= Boolean]

MultiLine プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。複数行のテキストの取得と表示を許可するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	複数行のテキストの取得と表示を許可します (既定値)。
False	複数行のテキストの取得と表示を許可しません。
解説

複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールでは、強制改行が可能で、文字列の量に合わせて行数が調整されます。必要があれば、垂直スクロール バーを表示することもできます。

単一行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールでは、強制改行を使用できません。垂直スクロール バーも使用できません。

単一行のテキストの取得と表示が設定されているコントロールでは、WordWrap プロパティの値は無視されます。

メモ   複数行のテキストの取得と表示が設定されているテキスト ボックス (TextBox) コントロールの MultiLine プロパティを偽 (False) に変更すると、テキスト ボックスは 1 行に結合されます。その行には、キャリッジ リターンや改行のような表示されない文字が含まれます。


MultiRow プロパティ

複数行のタブの表示を許可するかどうかを設定します。

構文

object.MultiRow [= Boolean]

MultiRow プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。複数行のタブの表示を許可するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	複数行のタブの表示を許可します。
False	タブの表示領域を 1 行に限定します (既定値)。
解説

タブの表示領域の行数は、タブの幅と数、およびコントロールのサイズによって決まります。したがって、すべてのタブがコントロールの中に収まるように、コントロールのサイズを調整することもできます。MultiRow プロパティに偽 (False) が設定されている場合、タブの幅の合計がコントロールの幅を上回ると、一部のタブが表示領域から切り捨てられます。

MultiRow プロパティに偽 (False) が設定されていて、一部のタブで表示が切り捨てられると、タブ ストリップ (TabStrip) コントロール上に小さなスクロール バーが表示され、タブ表示のスクロールができるようになります。


MultiSelect プロパティ

オブジェクトに複数選択を許可するかどうかを設定します。

構文

object.MultiSelect [= fmMultiSelect]

MultiSelect プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmMultiSelect	省略可能です。コントロールの選択モードを指定します。
設定値

引数 fmMultiSelect の設定値は次のとおりです。

定数	値	内容
fmMultiSelectSingle	0	項目は 1 つだけ選択できます (既定値)。
fmMultiSelectMult	1	複数選択を許可します。項目の選択/選択解除を行うには、Space キーを押すか、またはクリックします。
fmMultiSelectExtended	2	複数選択を許可します。Shift キーを押しながらクリックするか、または Shift キーを押しながら方向キーを押すと、現在選択されている項目を始点として一連の項目を連続的に選択できます。項目の選択/選択解除を個別に行うには、Ctrl キーを押しながらクリックします。
解説

MultiSelect プロパティが fmMultiSelectExtended または fmMultiSelectSimple に設定されている場合に、選択されている項目を調べるには Selected プロパティを使う必要があります。

ListIndex プロパティは、フォーカスを持っている行のインデックスを返します。Value プロパティもまた常に Null 値になります。


Name プロパティ

コントロールまたはオブジェクトの名前を設定します。あるいは、Font オブジェクトと関連付けるフォントの名前を設定します。

構文

フォントの場合
Font.Name [= String]

その他のコントロールとオブジェクトの場合
object.Name [= String]

Name プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。フォントまたはコントロールに付ける名前を指定します。
設定値

名前の長さの制限など、Name プロパティに指定できる文字列の規則については、アプリケーションに依存します。

解説

オブジェクトの場合、Name プロパティの既定値は、オブジェクトのクラス名と整数値の組み合わせで構成されます。たとえば、フォームに最初に追加したテキスト ボックス (TextBox) コントロールの既定値は、TextBox1 となります。同様に、2 番目に追加したテキスト ボックス (TextBox) コントロールの既定値は、TextBox2 となります。

Name プロパティの設定値は、コントロールのプロパティ ウィンドウで変更できます。実行時に追加したコントロールについては、実行時にコードを通じて変更することもできます。デザイン時に追加したコントロールの Name プロパティを実行時に変更することはできません。

デザイン時に追加したコントロールについては、名前の重複が許されません。

Font オブジェクトの場合の Name プロパティは、コントロール、オブジェクト、またはフォームのテキスト部分で使う書体を表します。使用しているコンピュータとプリンタによっては、フォントの外観が画面表示と印刷結果とで異なることがあります。表示できないフォントまたはインストールされていないフォントを選択すると、類似したフォントが代わりに使われます。


Object プロパティ

標準と同じ名前のプロパティまたはメソッドを持つコントロールを使用するときに、標準のプロパティまたはメソッドに代えて使用できるように設定します。

構文

object.Object[.property |.method]

Object プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。Microsoft Forms のツールボックスに追加したオブジェクトの名前を指定します。
Property	省略可能です。Microsoft Forms の標準のプロパティと同じ名前を持つプロパティを指定します。
Method	省略可能です。Microsoft Forms の標準のメソッドと同じ名前を持つメソッドを指定します。
解説

Object プロパティは、値の取得のみ可能です。

Microsoft Forms のツールボックスに新しいコントロールを追加した場合は、Microsoft Forms が標準で提供しているプロパティまたはメソッドと同じ名前のプロパティまたはメソッドを持つコントロールを追加できます。Object プロパティを使うと、標準のプロパティおよびメソッドと同じ名前を持つコントロールのプロパティとメソッドが使用できるようになります。


OldHeight、OldWidth プロパティ

コントロールの変更前の高さまたは幅をポイント単位で返します。

構文

object.OldHeight

object.OldWidth

OldHeight プロパティおよび OldWidth プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

OldHeight プロパティおよび OldWidth プロパティは、値の取得のみ可能です。

OldHeight プロパティおよび OldWidth プロパティの設定値は、コントロールを移動させたり、サイズを変更すると自動的に更新されます。コントロールのサイズを変更すると、変更後の値が Height プロパティと Width プロパティに設定され、変更前の値は OldHeight プロパティと OldWidth プロパティに設定されます。

これらのプロパティは、Layout イベントでのみ有効です。


OldLeft、OldTop プロパティ

コントロールが前回あった位置を、フォームの左端または上端からの距離を基準として、ポイント単位で返します。

構文

object.OldLeft

object.OldTop

OldLeft プロパティおよび OldTop プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

OldHeight プロパティおよび OldWidth プロパティは、値の取得のみ可能です。

OldLeft プロパティおよび OldTop プロパティの設定値は、コントロールを移動させたり、サイズを変更すると自動的に更新されます。コントロールを移動すると、コンテナの左端と上端を基準とするコントロールの新しい位置が Left プロパティと Top プロパティに設定され、変更前の値が OldLeft プロパティと OldTop プロパティに設定されます。

OldLeft プロパティと OldTop プロパティは、Layout イベントでのみ有効です。


Orientation プロパティ

スピン ボタン (SpinButton) コントロールまたはスクロール バー (ScrollBar) コントロールを垂直方向に配置するか、水平方向に配置するかを設定します。

構文

object.Orientation [= fmOrientation]

Orientation プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmOrientation	省略可能です。コントロールの配置の向きを指定します。
設定値

引数 fmOrientation の設定値は次のとおりです。

定数	値	内容
fmOrientationAuto	-1	配置の向きは、コントロールの大きさによって自動的に判定させます (既定値)。
fmOrientationVertical	0	垂直方向に配置します。
fmOrientationHorizontal	1	水平方向に配置します。
解説

配置の向きを自動判定させるようにした場合は、コントロールの高さと幅によって向きが決まります。たとえば、横長のコントロールは、水平方向に配置されます。縦長のコントロールは、垂直方向に配置されます。


Parent プロパティ

指定したコントロール、オブジェクト、またはコレクションを含んでいるフォーム、オブジェクト、またはコレクションの名前を返します。

構文

object.Parent

Parent プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

Parent プロパティは、値の取得のみ可能です。

Parent プロパティは、オブジェクトの親のプロパティ、メソッド、またはコントロールにアクセスするときに使います。

このプロパティは、オブジェクトを引数として渡すアプリケーションで使用します。たとえば、モジュールの中でコントロールの変数をジェネラル プロシージャに渡したり、ジェネラル プロシージャ内では、渡されたコントロールの Parent プロパティを使って、その親フォームを操作できます。


PasswordChar プロパティ

テキスト ボックス (TextBox) コントロールで、実際に入力された文字の代わりにプレースホルダ文字を表示するかどうかを設定します。

構文

object.PasswordChar [= String]

PasswordChar プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。プレースホルダ文字を表す文字列式を指定します。
解説

PasswordChar プロパティは、パスワードやセキュリティ コードなどの機密にかかわる情報を保護するときに使います。PasswordChar プロパティの設定値が入力した文字の代わりに表示されます。設定値が空のときは、入力した文字がそのまま表示されます。


Picture プロパティ

オブジェクトの上に表示するビットマップを設定します。

構文

object.Picture = LoadPicture( pathname )

Picture プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
pathname	必ず指定します。ピクチャ ファイルの絶対パスを指定します。
解説

フォームのデザイン時には、対象となるコントロールのプロパティ ページを使って、Picture プロパティにビットマップを指定できます。実行時に Picture プロパティを設定するには、LoadPicture 関数を使う必要があります。

コントロールに割り当てられているピクチャを削除するには、プロパティ ページで Picture プロパティの値をクリックし、Delete キーを押します。Backspace キーを押してもピクチャは削除されません。

メモ  キャプション付きのコントロールについては、PicturePosition プロパティを使って、ピクチャをオブジェクトのどこに表示するかを指定できます。PictureSizeMode プロパティは、オブジェクトの上にピクチャをどのように配置するかを決めるために使います。

透明なピクチャは、かすんで表示されることがあります。このような表示を避けるには、不透明なイメージ表示をサポートするコントロール上でピクチャを表示してください。イメージ (Image) コントロールとマルチ ページ (MultiPage) コントロールは、不透明なイメージ表示をサポートしています。


PictureAlignment プロパティ

背景に表示するピクチャの位置を設定します。

構文

object.PictureAlignment [= fmPictureAlignment]

PictureAlignment プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmPictureAlignment	省略可能です。ピクチャをコントロールのどこに合わせて配置するかを指定します。
設定値

引数 fmPictureAlignment の設定値は次のとおりです。

定数	値	内容
fmPictureAlignmentTopLeft	0	左上端に合わせて配置します。
FmPictureAlignmentTopRight	1	右上端に合わせて配置します。
FmPictureAlignmentCenter	2	中央に配置します。
fmPictureAlignmentBottomLeft	3	左下端に合わせて配置します。
fmPictureAlignmentBottomRight	4	右下端に合わせて配置します。
解説

PictureAlignment プロパティは、ピクチャをコントロールまたはコンテナのどの端に合わせて配置するかを指定します。

たとえば、PictureAlignment プロパティに fmPictureAlignmentTopLeft を指定すると、ピクチャは、コントロールまたはコンテナの左上端に合わせて配置されます。PictureAlignment プロパティに fmPictureAlignmentCenter を指定すると、ピクチャは、コントロールまたはコンテナの中央に合わせて配置されます。

コントロールまたはコンテナにイメージを並べて表示する場合、並べ方のパターンは PIctureAlignment プロパティの設定値によって決まります。PictureAlignment プロパティに fmPictureAlignmentUpperLeft を指定している場合は、イメージの 1 つ目のコピーがコントロールまたはコンテナの左上端に置かれ、2 つ目以降のコピーは左から右に向かって並べられます。PictureAlignment プロパティに fmPictureAlignmentCenter を指定している場合は、イメージの 1 つ目のコピーがコントロールまたはコンテナの中央に置かれ、2 つ目以降のコピーはその左側と右側に並べられ、コントロールまたはコンテナを満たすように全体に並べて配置されます。

メモ  PictureSizeMode プロパティに fmSizeModeStretch を指定すると、PictureAlignment プロパティの指定値より優先されます。PictureSizeMode プロパティに fmSizeModeStretch を指定している場合は、ピクチャのサイズはコントロール全体またはコンテナ全体のサイズに合わせて拡大されます。


PicturePosition プロパティ

ピクチャの位置をピクチャが持つキャプションの位置を基準にして設定します。

構文

object.PicturePosition [= fmPicturePosition]

PicturePosition プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmPicturePosition	省略可能です。ピクチャをコンテナのどの位置に合わせて配置するかを指定します。
設定値

引数 fmPicturePosition の設定値は次のとおりです。

定数	値	内容
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	コントロールの中央にピクチャを表示します。キャプションの水平位置は、キャプションの中央に合わせて、垂直位置はピクチャの上に合わせます。
解説

ピクチャとキャプションは、1 つの単位としてコントロールの中央に配置されます。キャプションがない場合、ピクチャはコントロールの中央に配置されます。

このプロパティは、Picture プロパティにピクチャが指定されていない場合は無視されます。


PictureSizeMode プロパティ

コントロール、フォーム、または Page オブジェクトの背景に表示するピクチャの表示方法を設定します。

構文

object.PictureSizeMode [= fmPictureSizeMode]

PictureSizeMode プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmPictureSizeMode	省略可能です。フォームまたはページのサイズがピクチャのサイズと異なる場合の表示方法を指定します。
設定値

引数 fmPictureSizeMode の設定値は次のとおりです。

定数	値	内容
fmPictureSizeModeClip	0	フォームまたはページに表示しきれない部分は切り捨てます (既定値)。
FmPictureSizeModeStretch	1	フォームまたはページのサイズに合わせて、ピクチャを引き伸ばします。この場合、ピクチャは水平方向または垂直方向にゆがむことがあります。
FmPictureSizeModeZoom	3	必要に応じてピクチャを引き伸ばしますが、水平方向または垂直方向にピクチャがゆがまないように引き伸ばします。
解説

fmPictureSizeModeClip を指定すると、ピクチャを本来のサイズと倍率で表示します。フォームまたはページがピクチャのサイズより小さい場合は、フォームまたはページの中に収まる部分のみが表示されます。

fmPictureSizeModeStretch または fmPictureSizeModeZoom を指定している場合は、必要に応じてピクチャを引き伸ばしますが、fmPictureSizeModeStretch を指定していると、イメージがゆがむことがあります。fmPictureSizeModeStretch を指定している場合は、イメージとコンテナまたはコントロールの上下左右端が重なり合うまで、イメージが水平方向と垂直方向に引き伸ばします。fmPictureSizeModeZoom を指定している場合もイメージが引き伸ばされますが、この場合は、コンテナまたはコントロールの上下端または左右端のいずれかが重なり合うまで、イメージが水平方向と垂直方向に引き伸ばされます。たとえば、イメージが先にコンテナまたはコントロールの左右端全体まで引き伸ばされると、上下方向に引き伸ばせる領域があっても、それ以上引き伸ばされることはありません。同様に、上下端全体まで引き伸ばされると、左右方向に引き伸ばせる領域があっても、それ以上引き伸ばされることはありません。


PictureTiling プロパティ

フォームまたはページの全体にピクチャを並べて表示するかどうかを設定します。

構文

object.PictureTiling [= Boolean]

PictureTiling プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。ピクチャを背景全体に並べて表示するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	ピクチャを背景全体に並べて表示します。
False	ピクチャを背景全体に並べて表示しません (既定値)。
解説

ピクチャのサイズがフォームまたはページより小さい場合は、ピクチャを並べて表示できます。

ピクチャの並びは、PictureAlignment プロパティと PictureSizeMode プロパティの設定値で決まります。たとえば、PictureAlignment プロパティに fmPictureAlignmentTopLeft が設定されている場合は、左上端から右に向かってピクチャが並べられます。PictureSizeMode プロパティに fmPictureSizeModeClip が設定されていて、ピクチャがフォームまたはページの表示領域に収まりきらない場合、はみ出す部分は表示されません。


ProportionalThumb プロパティ

スクロール ボックスのサイズをスクロール領域に合わせて可変にするか、固定するかを設定します。

構文

object.ProportionalThumb [= Boolean]

ProportionalThumb プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。スクロール ボックスのサイズを可変にするか、固定にするかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	スクロール ボックスのサイズをスクロール領域のサイズに比例させます (既定値)。
False	スクロール ボックスのサイズを固定にします。
解説

スクロール ボックスのサイズを可変にした場合、そのサイズは、オブジェクト全体のうちウィンドウ内に表示されている部分のパーセンテージを視覚的に表しています。たとえば、オブジェクトの全体の 75% がウィンドウ内に表示されている場合、スクロール ボックスはスクロール バーの表示領域の 3/4 を占める形になります。

スクロール ボックスのサイズを固定にすると、そのサイズは、スクロール バーの高さと幅に従って自動的に決まります。


RowSource プロパティ

コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールのリストのソースを設定します。

構文

object.RowSource [= String]

RowSource プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールのリストのソースを指定します。
解説

RowSource プロパティには、Microsoft Excel のワークシートのセル範囲を指定できます。


ScrollBars プロパティ

コントロール、フォーム、またはページに垂直スクロール バー、水平スクロール バーを表示するかどうかを設定します。

構文

object.ScrollBars [= fmScrollBars]

ScrollBars プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmScrollBars	省略可能です。どのスクロール バーを表示するかを指定します。
設定値

引数 fmScrollBars の設定値は次のとおりです。

定数	値	内容
fmScrollBarsNone	0	スクロール バーを表示しません (既定値)。
fmScrollBarsHorizontal	1	水平スクロール バーを表示します。
fmScrollBarsVertical	2	垂直スクロール バーを表示します。
fmScrollBarsBoth	3	水平スクロール バーと垂直スクロール バーの両方を表示します。
解説

KeepScrollBarsVisible プロパティに真 (True) が設定されているときは、オブジェクトの内容がその境界線の中に収まっているかどうかにかかわらず、スクロール バーが表示されます。

スクロール バーが表示されている場合、そのスクロール ボックスの位置はスクロール バーの表示領域内に制限されます。また、スクロール バー全体を表示するために必要なときは、スクロールの位置が変更されます。スクロール バーの範囲は、ScrollBars プロパティの値、スクロールのサイズ、または表示サイズを変更したときに変更されます。

スクロール バーが非表示の場合は、スクロールの位置を任意の値に設定できます。負の値を指定することも、スクロールのサイズより大きい値を指定することもできます。

単一行のテキストの表示が設定されているコントロールの場合は、ScrollBars プロパティと AutoSize プロパティを使って、水平スクロール バーを表示できます。スクロール バーを表示するかどうかは、次の規則に従って決まります。

1	ScrollBars プロパティに fmScrollBarsNone を設定しているときは、どのスクロール バーも表示されません。

2	ScrollBars プロパティに fmScrollBarsHorizontal または fmScrollBarsBoth を設定しているときに、文字列が編集領域に表示しきれず、さらに編集領域の下にスクロール バーを表示できる領域が確保されている場合には、水平スクロール バーが表示されます。

3	AutoSize プロパティに真 (True) が設定されているときは、スクロール バーを表示できるようにコントロールのサイズが自動的に調整されます。ただし、コントロールのサイズが最大サイズに達しているか、最大サイズ近くに達している場合はこの限りでありません。

複数行のテキストの表示が設定されているテキスト ボックスの場合は、ScrollBars プロパティ、WordWrap プロパティ、および AutoSize プロパティを使って、スクロール バーを表示できます。スクロール バーを表示するかどうかは、次の規則に従って決まります。

1	ScrollBars プロパティに fmScrollBarsNone を設定しているときは、どのスクロール バーも表示されません。

2	ScrollBars プロパティに fmScrollBarsVertical または fmScrollBarsBoth を設定しているときに、文字列が編集領域に領域に表示しきれず、さらに編集領域の右側にスクロール バーを表示できる領域が確保されている場合には、垂直スクロール バーが表示されます。

3	WordWrap プロパティに真 (True) が設定されている場合は、複数行のテキストの表示が設定されているコントロールに水平スクロール バーが表示されることはありません。複数行のテキストの表示が設定されているコントロールの多くは、水平スクロール バーを必要としません。

4	次の条件がすべて満たされるときは、複数行のテキストの表示が設定されているコントロールに水平スクロール バーを表示できます。

•	編集領域の幅より長い単語が編集領域の中にある。

•	水平スクロール バーの表示を許可している。

•	編集領域の下側にスクロール バーを表示できる領域が確保されている。

•	WordWrap プロパティに偽 (False) が設定されている。


ScrollHeight、ScrollWidth プロパティ

コントロール、フォーム、またはページのスクロール バーを動かすことによって表示できる領域全体の高さまたは幅をポイント単位で設定します。

構文

object.ScrollHeight [= Single]

object.ScrollWidth [= Single]

ScrollHeight プロパティおよび ScrollWidth プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。スクロール可能領域の高さまたは幅を指定します。


ScrollLeft、ScrollTop プロパティ

論理的なフォーム、ページ、またはコントロールの左端または上端から、表示されているフォームの左端または上端までの距離をポイント単位で指定します。

構文

object.ScrollLeft [= Single]

object.ScrollTop [= Single]

ScrollLeft プロパティおよび ScrollTop プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。フォームの端からの距離を指定します。
解説

最小値は 0 です。最大値は、ScrollWidth プロパティの値とフォームまたはページの Width プロパティの値の差です。


Selected プロパティ

リスト ボックス (ListBox) コントロールにおける各項目の選択状況を設定します。値の取得も可能です。

構文

object.Selected( index ) [= Boolean]

Selected プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
index	必ず指定します。0 以上で、リスト内の項目数から 1 を引いた数以下の範囲の整数値を指定します。
Boolean	省略可能です。項目が選択されているかどうかを示します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	項目は選択されています。
False	項目は選択されていません。
解説

Selected プロパティは、複数選択を許可しているときに使用します。このプロパティを使うと、複数の列があるリスト ボックスにおいてどの行が選択されているかを調べることができます。また、行の選択/選択解除をコードを通じて操作するときにもこのプロパティを使用します。

このプロパティの既定値は、リスト ボックス (ListBox) コントロールの現在の選択状況に依存します。

単一項目を選択するリスト ボックスの場合、Value プロパティまたは ListIndex プロパティを使うことをお勧めします。ListIndex プロパティは、選択されている項目のインデックスを返しますが、複数選択が許可されている場合は、実際に選択されているかどうかにかかわらず、フォーカスがある行のインデックスを返します。

リスト ボックス (ListBox) コントロールの MultiSelect プロパティに fmMultiSelectSingle が設定されている場合、Selected プロパティに真 (True) を設定できる行は、1 つに限られます。

有効なインデックス以外の値を指定してもエラー メッセージは表示されませんが、そのプロパティの指定値は無視されます。


SelectedItem プロパティ

現在選択されている Tab オブジェクトまたは Page オブジェクトを返します。

構文

object.SelectedItem

SelectedItem プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。タブ ストリップ (TabStrip) コントロールまたはマルチ ページ (MultiPage) コントロールの名前を指定します。
解説

SelectedItem プロパティは、値の取得のみ可能です。現在選択されている Tab オブジェクトまたは Page オブジェクトをコードを通じて操作するときに、SelectedItem プロパティを使用します。たとえば、Tab オブジェクトまたは Page オブジェクトのプロパティに値を指定するときに SelectedItem プロパティを使用します。


SelectionMargin プロパティ

文字列の左側の余白部分をクリックするだけで、その行の文字列を選択できるようにするかどうかを設定します。

構文

object.SelectionMargin [= Boolean]

SelectionMargin プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。文字列の左側の領域をクリックするだけで、その行の文字列を選択できるようにするかどうかを指定します。
設定値

引数 Boolean プロパティの設定値は次のとおりです。

値	内容
True	左側の余白部分をクリックすると、文字列が選択されます (既定値)。
False	左側の余白部分をクリックしても、文字列は選択されません。
解説

SelectionMargin プロパティに真 (True) が設定されている場合、コントロールの編集領域の左側は選択余白として使われます。偽 (False) が設定されている場合は、編集領域全体が文字列の格納に使われます。

コントロールを印刷するとき、SelectionMargin プロパティに真 (True) が設定されていると、選択余白も併せて印刷されます。


SelLength プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのテキスト部分で、選択されている文字数を返します。

構文

object.SelLength [= Long]

SelLength プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。選択する文字の数を表す数値式を指定します。SelLength プロパティおよび SelStart プロパティは、0 以上で、コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールの編集領域にある文字数の合計以下の範囲で指定します。
解説

SelLength プロパティは、コントロールにフォーカスがないときでも、常に使用できます。SelLength プロパティに負の値を指定すると、エラーが発生します。コントロール内の文字数を超える値を指定すると、コントロール内の文字数と等しい値が指定されたものとして扱われます。

メモ  SelStart プロパティの設定値を変更すると、既存の選択内容はキャンセルされます。表示されている文字列の末尾が挿入ポインタの位置になり、SelLength プロパティに 0 が設定されます。

既定値の 0 は、どの文字列も選択されていないことを表します。


SelStart プロパティ

選択されている文字列の先頭位置を返します。選択されている文字列がない場合は、挿入ポインタの位置を返します。

構文

object.SelStart [= Long]

SelStart プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。文字列の選択開始位置を表す数値式を指定します。SelLength プロパティおよび SelStart プロパティは、0 以上で、コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールの編集領域にある文字数の合計以下の範囲で指定します。既定値は 0 です。
解説

SelStart プロパティは、コントロールにフォーカスがないときでも、常に使用できます。負の値を SelStart プロパティに指定すると、エラーが発生します。コントロール内の文字数を超える値を指定すると、コントロール内の文字数と等しい値が指定されたものとして扱われます。

SelStart プロパティの設定値を変更すると、既存の選択内容はキャンセルされます。挿入ポインタは指定の位置に置かれ、SelLength プロパティに 0 が設定されます。


SelText プロパティ

コントロール内の選択する文字列を設定します。値の取得も可能です。

構文

object.SelText [= String]

SelText プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。選択する文字列を表す文字列式を指定します。
解説

コントロールの編集領域の中でどの文字も選択されていない場合、SelText プロパティは長さ 0 の文字列 ("") を返します。このプロパティは、対象となるコントロールにフォーカスがないときでも使用可能です。


ShowDropButtonWhen プロパティ

コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールの右端の下向き矢印を表示するタイミングを設定します。

構文

object.ShowDropButtonWhen [= fmShowDropButtonWhen]

ShowDropButtonWhen プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmShowDropButtonWhen	省略可能です。コントロールの右端の下向き矢印を表示する条件を指定します。
設定値

引数 fmShowDropButtonWhen の設定値は次のとおりです。

定数	値	内容
fmShowDropButtonWhenNever	0	コントロールの右端の下向き矢印は、どの状況下でも表示しません。
fmShowDropButtonWhenFocus	1	コントロールにフォーカスがあるときに、コントロールの右端の下向き矢印を表示します。
fmShowDropButtonWhenAlways	2	コントロールの右端の下向き矢印を常に表示します。
コンボ ボックス (ComboBox) コントロールでは、既定値は fmShowDropButtonWhenAlways になります。テキスト ボックス (TextBox) コントロールでは、既定値は fmShowDropButtonWhenNever になります。


SmallChange プロパティ

スクロール バー (ScrollBar) コントロールまたはスピン ボタン (SpinButton) コントロールのスクロール矢印をクリックしたときのスクロール量を設定します。

構文

object.SmallChange [= Long]

SmallChange プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。Value プロパティの増減量を表す整数値を指定します。
解説

SmallChange プロパティの設定値には、増減量を表す単位がありません。

このプロパティには任意の整数値を指定できますが、-32,767 ～ +32,767 の範囲の整数値を指定することをお勧めします。既定値は 1 です。


SpecialEffect プロパティ

オブジェクトの表示スタイルを設定します。

構文

チェック ボックス コントロール、オプション ボタン コントロール、トグル ボタン コントロールの場合
object.SpecialEffect [= fmButtonEffect]

その他のコントロールの場合
object.SpecialEffect [= fmSpecialEffect]

SpecialEffect プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
FmButtonEffect	省略可能です。チェック ボックス (CheckBox) コントロール、オプション ボタン (OptionButton) コントロール、またはトグル ボタン (ToggleButton) コントロールの表示スタイルを指定します。
FmSpecialEffect	省略可能です。チェック ボックス (CheckBox) コントロール、オプション ボタン (OptionButton) コントロール、トグル ボタン (ToggleButton) コントロール以外のオブジェクトの表示スタイルを指定します。
設定値

引数 fmSpecialEffect の設定値は次のとおりです。

定数	値	内容
fmSpecialEffectFlat	0	オブジェクトは、平面的に表示され、境界線または色の違いによって背景と区別します。イメージ (Image) コントロールおよびラベル (Label) コントロールでは、これが既定値です。すべてのコントロールで使用可能です。
fmSpecialEffectRaised	1	オブジェクトの上辺と左辺が強調表示され、下辺と右辺には影が付けられます。チェック ボックス (CheckBox) コントロールおよびオプション ボタン (OptionButton) コントロールでは、使用できません。
fmSpecialEffectSunken	2	オブジェクトの上辺と左辺に影が付けられ、下辺と右辺は強調表示されます。コントロールとその境界線は、フォームの中に沈んでいるように見えます。チェック ボックス (CheckBox) コントロールおよびオプション ボタン (OptionButton) コントロールでは、これが既定値になります。すべてのコントロールで使用可能です (既定値)。
fmSpecialEffectEtched	3	コントロールの枠が沈んで見えます。チェック ボックス (CheckBox) コントロールとオプション ボタン (OptionButton) コントロールでは、使用できません。
fmSpecialEffectBump	6	オブジェクトの下辺と右辺に隆起線が付けられ、上辺と左辺は平らに表示されます。チェック ボックス (CheckBox) コントロールとオプション ボタン (OptionButton) コントロールでは、使用できません。
フレーム (Frame) コントロールは、fmSpecialEffectSunken が既定値になります。

チェック ボックス (CheckBox) コントロール、オプション ボタン (OptionButton) コントロール、およびトグル ボタン (ToggleButton) コントロールでは、fmSpecialEffecFlat (指定値は 0) または fmSpecialEffecSunken (指定値は 2) のみが指定可能です。この 3 つ以外のコントロールでは、すべての値が指定可能です。

解説

コントロールの境界の表示スタイルを設定するときは、SpecialEffect プロパティと BorderStyle プロパティのいずれかを使用します。ただし、両方を同時に使うことはできません。いずれかのプロパティに 0 以外の値を指定すると、他方のプロパティには自動的に 0 が設定されます。たとえば、SpecialEffect プロパティに fmSpecialEffectRaised を設定すると、BorderStyle プロパティは自動的に 0 (fmSpecialEffectRaised) が設定されます。

フレーム (Frame) コントロールについては、SpecialEffect プロパティが fmSpecialEffectFlat に設定されていると、BorderStyle プロパティの設定値は無視されます。

SpecialEffect プロパティでは、その境界線の色の定義にシステム カラーが使われます。

メモ   トグル ボタン (ToggleButton) コントロールでは、SpecialEffect プロパティが存在しても、プロパティは無効になります。したがって、トグル ボタン (ToggleButton) コントロールでは、このプロパティは値の設定も取得もできません。


Style プロパティ

コンボ ボックス (ComboBox) コントロールでは、値の選択方法または設定方法を設定します。マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールでは、Tabs コレクションのスタイルを設定します。

構文

コンボ ボックス コントロールの場合
object.Style [= fmStyle]

マルチ ページ コントロール、タブ ストリップ コントロールの場合
object.Style [= fmTabStyle]

Style プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmStyle	省略可能です。コンボ ボックス (ComboBox) コントロールの値の設定方法を指定します。
fmTabStyle	省略可能です。マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールのタブのスタイルを指定します。
設定値

引数 fmStyle の設定値は次のとおりです。

定数	値	内容
fmStyleDropDownCombo	0	コンボ ボックス (ComboBox) コントロールは、選択項目のリストを持つコンボ ボックスとして機能します。編集領域に値を入力したり、選択項目のリストから値を選択することができます。
fmStyleDropDownList	2	コンボ ボックス (ComboBox) コントロールは、リスト ボックスとして機能します。リストから値を選択しなければなりません。
引数 fmTabStyle の設定値は次のとおりです。

定数	値	内容
fmTabStyleTabs	0	タブを表示します (既定値)。
fmTabStyleButtons	1	タブ バーにボタンを表示します。
fmTabStyleNone	2	タブ バーを表示しません。


TabFixedHeight、TabFixedWidth プロパティ

タブの固定サイズの高さ、または幅をポイント単位で指定します。値の取得も可能です。

構文

object.TabFixedHeight [= Single]

object.TabFixedWidth [= Single]

TabFixedHeight プロパティおよび TabFixedWidth プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Single	省略可能です。タブ ストリップ (TabStrip) コントロールまたはマルチ ページ (MultiPage) コントロールのタブの高さ、または幅をポイント単位で指定します。
設定値

0 を設定すると、タブの幅はすべて自動的に調整されます。各タブの幅はその内容全体を表示できるように設定され、タブの行の幅はコントロール自体の幅に合わせて設定されます。

1 以上の値を設定すると、すべてのタブはこのプロパティで指定した幅に設定されます。

解説

幅の最小値は 4 ポイントです。


TabIndex プロパティ

フォームのタブ オーダーにおけるオブジェクトの位置を設定します。

構文

object.TabIndex [= Integer]

TabIndex プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Integer	省略可能です。0 以上で、TabIndex プロパティを持っているコントロールの数の合計から 1 を引いた数以下の整数値を指定します。TabIndex プロパティに負の数を指定すると、エラーが発生しますまた、最大のインデックス値を超える値を指定すると、最大のインデックス値が指定されたものとして扱われます。
解説

タブ オーダーの先頭のオブジェクトのインデックス値は、0 です。


TabKeyBehavior プロパティ

編集領域の中で、タブ文字を許可するかどうかを設定します。

構文

object.TabKeyBehavior [= Boolean]

TabKeyBehavior プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。Tab キーを押した場合の動作を指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	Tab キーを押すと、編集領域にタブ文字が挿入されます。
False	Tab キーを押すと、タブ オーダーの次のオブジェクトにフォーカスが移ります (既定値)。
解説

TabKeyBehavior プロパティと MultiLine プロパティは密接に関連し合っています。TabKeyBehavior プロパティの設定値は、MultiLine プロパティに真 (True) が設定されているときに限り適用されます。MultiLine プロパティに偽 (False) が設定されている場合は、Tab キーを押すと、TabKeyBehavior プロパティの設定値に関係なく、フォーカスがタブ オーダーの次のコントロールに移ります。

Ctrl キーを押しながら Tab キーを押すと、TabKeyBehavior プロパティの設定値に関係なく、タブ文字が挿入されます。


TabOrientation プロパティ

マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールで、タブを表示する位置を設定します。

構文

object.TabOrientation [= fmTabOrientation]

TabOrientation プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmTabOrientation	省略可能です。タブを表示する位置を指定します。
設定値

引数 fmTabOrientation の設定値は次のとおりです。

定数	値	内容
fmTabOrientationTop	0	タブは、コントロールの上側に表示されます (既定値)。
fmTabOrientationBottom	1	タブは、コントロールの下側に表示されます。
fmTabOrientationLeft	2	タブは、コントロールの左端に表示されます。
fmTabOrientationRight	3	タブは、コントロールの右端に表示されます。
解説

TrueType フォントを使用している場合は、TabOrientation プロパティに fmTabOrientationLeft または fmTabOrientationRight を設定すると、文字列が 90 度回転された状態で表示されます。ビットマップ フォントを使用している場合は、このような回転が起こりません。


TabStop プロパティ

Tab キーを使って、フォーカスを移動したときにオブジェクトがフォーカスを取得できるかどうかを設定します。

構文

object.TabStop [= Boolean]

TabStop プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。タブ ストップを設定するかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	タブ ストップを設定します (既定値)。
False	Tab キーによるフォーカス移動のときは、このオブジェクトをスキップします。ただし、TabIndex プロパティの設定値が示すタブ オーダーの順番は、オブジェクトがそのまま維持します。


Tag プロパティ

オブジェクトに関する補足的な情報を設定します。

構文

object.Tag [= String]

Tag プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。オブジェクトを表す文字列式を指定します。既定値は、長さ 0 の文字列 ("") です。
解説

Tag プロパティを使うと、その他のプロパティの設定値や属性に影響を与えることなく、付加的な識別情報をオブジェクトに割り当てることができます。

たとえば、変数としてフォームやコントロールをプロシージャに渡すときの条件に Tag プロパティを使うこともできます。


Text プロパティ

テキスト ボックス (TextBox) コントロールに文字列を設定します。値の取得も可能です。コンボ ボックス (ComboBox) コントロールおよびリスト ボックス (ListBox) コントロールで選択されている行を変更します。

構文

object.Text [= String]

Text プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
String	省略可能です。テキストを表す文字列式を指定します。既定値は、長さ 0 の文字列 ("") です。
解説

テキスト ボックス (TextBox) コントロールの場合、Text プロパティに割り当てた任意の値は、Value プロパティにも割り当てられます。

コンボ ボックス (ComboBox) コントロールの場合、コントロールの値を更新するときに Text プロパティを利用できます。Text プロパティの値が既にあるリストの見出しと一致する場合、ListIndex プロパティの値 (現在選択されている行のインデックス) には、Text プロパティと一致する行が設定されます。Text プロパティの値が行と一致しない場合、ListIndex プロパティには -1 が設定されます。

リスト ボックス (ListBox) コントロールの場合、Text プロパティの値は既にあるリストの見出しと一致していなければなりません。既にあるリストの見出しと一致しない値を設定したときは、エラーが発生します。

コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールの中で見出しの値を変更するときに、Text プロパティを使うことはできません。このようなときには、Column プロパティや List プロパティを使ってください。

テキストの色は、ForeColor プロパティの設定値によって決まります。


TextAlign プロパティ

コントロールの中で文字列をどのように配置するかを設定します。

構文

object.TextAlign [= fmTextAlign]

TextAlign プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmTextAlign	省略可能です。コントロールの中で文字列をどのように配置するかを指定します。
設定値

引数 fmTextAlign プロパティの設定値は次のとおりです。

定数	値	内容
fmTextAlignLeft	1	文字列の先頭の文字をコントロールの編集領域の左端に合わせて、文字列を表示します (既定値)。
fmTextAlignCenter	2	中央揃えで文字列を表示します。
fmTextAlignRight	3	文字列の最後の文字をコントロールの編集領域の右端に合わせて、文字列を表示します。
解説

コンボ ボックス (ComboBox) コントロールの場合、TextAlign プロパティの設定値は編集領域にのみ適用されます。リスト部分の文字列の配置方法については影響しません。単独で使われるラベル (Label) コントロールの場合、TextAlign プロパティは、ラベルのキャプションの配置方法を指定します。


TextColumn プロパティ

コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールで表示する列を設定します。

構文

object.TextColumn [= Variant]

TextColumn プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。表示する列を指定します。
設定値

TextColumn プロパティの値は、-1 以上で、リストの列数以下の範囲で指定します。1 列目を表示するには 1 を指定し、2 列目を表示するには 2 を指定します。以下同様に続きます。TextColumn プロパティに 0 を設定すると、ListIndex プロパティの設定値が表示されます。TextColumn プロパティに -1 を設定すると、ColumnWidths プロパティの設定値が 0 を超える列の中で、1 列目が表示されます。

解説

コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールで行を選択すると、TextColumn プロパティの値が示す列の内容が Text プロパティに読み込まれます。たとえば、1 列目に祝日の名前を、2 列目に祝日の日付を含む複数の列があるリスト ボックス (ListBox) コントロールを組み込むことができます。祝日の名前を表示するには、1 列目を TextColumn プロパティとして指定します。祝日の日付を格納するには、BoundColumn プロパティとして指定します。

テキスト部分に文字列を入力するなどして、コンボ ボックス (ComboBox) コントロールの Text プロパティの内容を変更すると、新しい内容は TextColumn プロパティの値が示す列のデータと比較されます。


TextLength プロパティ

テキスト ボックス (TextBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの編集領域にある文字列の文字数を返します。

構文

object.TextLength

TextLength プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
解説

TextLength プロパティは、値の取得のみ可能です。複数行のテキストの取得が設定されているテキスト ボックスの場合、TextLength プロパティの値は、LF (ライン フィード) および CR (キャリッジ リターン) も含む文字列全体の長さを表します。


TopIndex プロパティ

リストの先頭に表示される項目を設定します。値の取得も可能です。

構文

object.TopIndex [= Variant]

TopIndex プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。リストの先頭に表示する項目の番号を指定します。既定値は、0 またはリストの 1 番目の項目です。
設定値

リストが空の場合、またはリストが非表示の場合、TopIndex プロパティは -1 を返します。


TransitionEffect プロパティ

ページを変えるときに表示する視覚的な特殊効果を設定します。

構文

object.TransitionEffect [= fmTransitionEffect]

TransitionEffect プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmTransitionEffect	省略可能です。ページを変えるときに表示する特殊効果を指定します。
設定値

引数 fmTransitionEffect の設定値は次のとおりです。

定数	値	内容
fmTransitionEffectNone	0	特殊効果を使用しません (既定値)。
fmTransitionEffectCoverUp	1	下から上に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverRightUp	2	左下端から右上端に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverRight	3	左から右に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverRightDown	4	左上端から右下端に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverDown	5	上から下に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverLeftDown	6	右上端から左下端に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverLeft	7	右から左に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectCoverLeftUp	8	右下端から左上端に向かって、新しいページが古いページにおおいかぶさります。
fmTransitionEffectPushUp	9	下から上に向かって、新しいページが古いページを押し出します。
fmTransitionEffectPushRight	10	左から右に向かって、新しいページが古いページを押し出します。
fmTransitionEffectPushDown	11	上から下に向かって、新しいページが古いページを押し出します。
fmTransitionEffectPushLeft	12	右から左に向かって、新しいページが古いページを押し出します。
解説

この特殊効果にかける時間は、TransitionPeriod プロパティを使って指定します。


TransitionPeriod プロパティ

ページの移動に伴う特殊効果にかける時間をミリ秒単位で設定します。

構文

object.TransitionPeriod [= Long]

TransitionPeriod プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Long	省略可能です。ページの移動にかかる時間を指定します。
解説

0 ～ 10,000 の範囲の整数値を指定します。TransitionPeriod プロパティに 0 を設定すると、ページの移動に伴う特殊効果は行われません。TransitionPeriod プロパティに 10000 を設定すると、ページの移動に 10 秒かかるようになります。


TripleState プロパティ

チェック ボックス (CheckBox) コントロールまたはトグル ボタン (ToggleButton) コントロールで、Null 値の状態を指定できるようにするかどうかを設定します。

構文

object.TripleState [= Boolean]

TripleState プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。Null 値の状態をサポートするかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	ボタンは、3 つの状態をサポートします。
False	ボタンは、真 (True) および偽 (False) の 2 つの状態のみをサポートします (既定値)。
解説

TripleState プロパティは、オプション ボタン (OptionButton) コントロールにもありますが、そのプロパティは無効です。TripleState プロパティの値に関係なく、ユーザー インターフェイスからコントロールに Null 値を設定することはできません。

TripleState プロパティに真 (True) を設定すると、Null 値、真 (True)、偽 (False) の 3 つからコントロールの状態を選択できるようになります。Null 値のときは、ボタンが淡色表示されます。

TripleState プロパティに偽 (False) を設定すると、真 (True) および偽 (False) の 2 つのみが選択肢となります。

Null 値を設定すると、コントロールから Click イベントが発生しなくなります。

コードを通じてであれば、このプロパティの設定値に関係なく、チェック ボックス (CheckBox) コントロールまたはトグル ボタン (ToggleButton) コントロールを Null 値の状態に設定できます。この場合も、コントロールは淡色表示されます。


Value プロパティ

コントロールの状態、またはその内容を設定します。

構文

object.Value [= Variant]

Value プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Variant	省略可能です。コントロールの状態、またはその内容を指定します。
設定値

コントロール	内容
CheckBox	項目が選択されているかどうかを表す整数値を表します。
	Null   選択でもクリアでもない、Null 値の状態を表します。
	-1    真。項目が選択されていることを表します。
	0     偽。項目が選択されていないことを表します。
OptionButton	チェック ボックス (CheckBox) コントロールと同じです。
ToggleButton	チェック ボックス (CheckBox) コントロールと同じです。
ScrollBar	Max プロパティの値と Min プロパティの値の間の整数値を表します。
SpinButton	スクロール バー (ScrollBar) コントロールと同じです。
ComboBox、ListBox	現在選択されている行の中の、BoundColumn プロパティが示す列の値を表します。
CommandButton	常に偽 (False) です。
MultiPage	現在アクティブなページを表す整数値を表します。
	1 ページ目は 0 です。最大値は、ページ数の合計から 1 を引いた数です。
TextBox	編集領域の文字列を表します。
解説

コマンド ボタン (CommandButton) コントロールでは、マクロまたはプロシージャを通じて Value プロパティに真 (True) を設定すると、Click イベントが発生します。

コンボ ボックス (ComboBox) コントロールでは、Value プロパティの値を変更しても、BoundColumn プロパティの値は変更されません。コンボ ボックス (ComboBox) コントロールに項目を追加するには AddItem メソッドを使用し、項目を削除するには RemoveItem メソッドを使用します。

複数の項目を選択できるリスト ボックス (ListBox) コントロールでは、Value プロパティを使用できません。


VerticalScrollbarSide プロパティ

垂直スクロール バーを表示するとき、フォーム、ページの左右どちらに表示するかを設定します。

構文

object.VerticalScrollbarSide [= fmVerticalScrollbarSide]

VerticalScrollbarSide プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
fmVerticalScrollbarSide	左右どちらにスクロール バーを表示するかを指定します。
設定値

引数 fmVerticalScrollbarSide の設定値は次のとおりです。

定数	値	内容
fmVerticalScrollbarSideRight	0	右端にスクロール バーを表示します (既定値)。
fmVerticalScrollBarSideLeft	1	左端にスクロール バーを表示します。
解説

右から左に向かって文字を読むようなフォームで、VerticalScrollBarSide プロパティを使うと特に便利です。


Visible プロパティ

オブジェクトを表示するか、非表示にするかを設定します。

構文

object.Visible [= Boolean]

Visible プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。オブジェクトを表示するか、非表示にするかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	オブジェクトを表示します (既定値)。
False	オブジェクトを非表示にします。
解説

Visible プロパティを使うと、画面に表示しない情報を使用できるようになります。たとえば、非表示に設定したフォームのコントロールの値をクエリーの抽出条件に使うことなどが考えられます。

デザイン時は、すべてのコントロールが表示されます。


WordWrap プロパティ

コントロールの内容を行の最後で、自動的にワードラップさせるかどうかを設定します。

構文

object.WordWrap [= Boolean]

WordWrap の構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Boolean	省略可能です。文字列の長さに応じて、コントロールの高さまたは幅を広げるかどうかを指定します。
設定値

引数 Boolean の設定値は次のとおりです。

値	内容
True	文字列をワードラップします (既定値)。
False	文字列をワードラップしません。
解説

MultiLine プロパティと WordWrap プロパティを両方ともサポートしているコントロールでは、MultiLine プロパティに偽 (False) を設定すると、WordWrap プロパティの設定値は無視されます。


Zoom プロパティ

オブジェクトの表示サイズの拡大率を設定します。

構文

object.Zoom [= Integer]

Zoom プロパティの構文は、次の指定項目から構成されます。

指定項目	内容
object	必ず指定します。オブジェクトの名前を指定します。
Integer	省略可能です。表示サイズの拡大率または縮小率を指定します。
解説

Zoom プロパティの値は、イメージの表示サイズの拡大率または縮小率を表します。10 ～ 400 の範囲の値を指定できます。このプロパティには、オブジェクトの本来のサイズを 100 とするパーセンテージを指定します。400 を指定すると、イメージは本来のサイズの 4 倍 (400%) に拡大されます。同様に、10 を指定すると、表示イメージは本来のサイズの 1/10 (10%) に縮小されます。


アクセス キー

オブジェクトを選択するために使用する単一の文字。Alt キーを押しながらアクセス キーを押すと、オブジェクトにフォーカスが設定され、そのオブジェクトに関連付けられた 1 つまたは複数のイベントが発生します。オブジェクト固有のイベントまたは発生するイベントはオブジェクトによって異なります。コードがイベントに関連付けられている場合、イベントが発生するとそのコードが処理されます。アクセス キーは、キーボード アクセラレータ、ショートカット キー、またはキーボード ショートカットと呼ばれることもあります。


背景色

空のウィンドウまたは表示画面のクライアント領域の色。この領域に描画および色の表示が行われます。


連結

ワークシートのセルまたはセル範囲など、特定のデータ ソースにコントロールに関連付けられている状態を示します。連結されたコントロールを使用すると、ワークシートのセルにアクセスしてコントロールの値の表示および編集を行うことができます。


クラス ID (CLSID)

オブジェクトを識別するための固有の識別子 (UUID)。オブジェクトはそのクラス ID をレジストリに登録することにより、他のアプリケーションでロードしたり、コードで操作できるようになります。


クリア

設定をオフに変更したり、値を消去することを示します。


クライアント領域

テキストまたはグラフィックなど、アプリケーションによって出力が表示されるウィンドウの部分。


コンテキスト ID

アプリケーション内の特定のオブジェクトに対応する重複しない番号または文字列。コンテキスト ID はアプリケーションとそれに対応するヘルプ トピックとのリンクを作成するために使用します。


コントロール グループ

概念的または論理的に関連性のある一連のコントロール。通常、概念的に関連性のあるコントロールは共に表示されますが、必ずしも互いに影響し合うわけではありません。論理的に関連性のあるコントロールは、互いに影響し合います。たとえば、オプション ボタンのグループから 1 つのオプション ボタンを選択すると、そのグループ内にある他のすべてのオプション ボタンは、偽 (False) に設定されます。


コントロール ヒント

Page オブジェクトまたは Tab オブジェクトなどのコントロールについての簡単な説明。ユーザーがコントロール上でマウス ポインタをクリックせずにしばらく置くと表示されます。コントロール ヒントは、ツール ヒントに似ています。Microsoft Forms は、デザイン時に開発者に対してツール ヒントを表示します。一方、開発者は実行時にユーザーに対してコントロール ヒントを表示します。


カーソル

アプリケーションに対してデータ行を返します。結果セット内のカーソルは、結果セット内の現在位置を示します。


循環

定義された順序でオブジェクトのグループ間を移動することを示します。


データ形式

1 単位のデータの構造または外観。たとえば、ファイル、データベースのレコード、スプレッド シート内のセル、またはワード プロセッサ文書内のテキストなどがあります。


データ ソース

コントロールに連結されているデータの位置。たとえば、ワークシート内のセルなどがあります。データ ソースの現在の値はコントロールの Value プロパティに格納されています。ただし、コントロールはデータを格納しているのではなく、データ ソースに格納されている情報を表示しているだけです。


基準となるコントロール

[書式] メニューの [整列] および [同じサイズに揃える] への参照。コントロールの配置を揃える場合、選択されたコントロールは基準となるコントロールに合わせて配置されます。コントロールのサイズを変更する場合は、選択されたコントロールに基準となるコントロールの大きさが割り当てられます。

基準となるコントロールには白いサイズ変更ハンドルが表示されます。他のコントロールには黒いサイズ変更ハンドルが表示されます。


ドロップ ソース

ドラッグ アンド ドロップ操作でドラッグまたは選択された文字列またはオブジェクト。


列挙型定数

列挙型を使ったプロパティ、メソッド､イベントの説明で、列挙されたデータ項目に付加された情報を調べることができます。


前景色

画面上で描画またはテキストを表示するために現在選択されている色。モノクロのディスプレイでは、前景色はビットマップまたはその他のグラフィックの色です。


グリッド ブロック

2 つの隣接したグリッド間の領域。


日本語入力システム (IME)

入力を日本語、中国語などの DBCS 言語の文字に変換するアプリケーション。ユーザーが文字を入力すると、入力した文字に相当する変換可能な文字が IME によって表示されます。ユーザーは最も適切な候補を選択します。


継承されたプロパティ

別のクラスの特性を取得したプロパティ。


キーボードの状態

どのキーが押されているのか、および Shift キー、Ctrl キー、または Alt キーのいずれかの補助キーが押されているのかどうかを示す戻り値。


OLE コンテナ コントロール

Visual Basic のコントロール。Visual Basic アプリケーション内で他のアプリケーションのオブジェクトをリンクしたり、埋め込んだりするために使用します。


OLE ステータス コード

エラー状況についての情報を返すデータ構造のエラー番号部分。データ構造は OLE によって定義されています。


プレースホルダ

セキュリティ上の理由から他の文字の代わりに使われる文字。たとえば、ユーザーがパスワードを入力すると、入力されたそれぞれの文字の代わりにアスタリスク (*) が表示されます。


プロパティ ページ

プロパティ ウィンドウのタブ ページとして表示されるプロパティの集まり。


RGB

色を赤 (R)、緑 (G)、および青 (B) を組み合わせた値として表すシステムです。色は R、G、および B の 3 つの整数で定義します。それぞれの整数は 0 ～ 255 の範囲の値です。値 0 はその色が設定されていないことを示します。値 255 はその色が最も濃く設定されていることを示します。


システム カラー

オペレーティング システムによって特定の種類のモニターおよびビデオ アダプタに対して定義されている色。これらの色はそれぞれウィンドウのタイトル バー、メニューなどのユーザー インターフェイスの特定の部分に関連付けられています。


ターゲット

ユーザーがドラッグしたオブジェクトをドロップするオブジェクト。


透明

オブジェクトの背景が表示されていない場合に、背景を表示します。背景色の代わりにオブジェクトの後ろにあるものを表示することができます。たとえば、アプリケーションの背景として使用されているイメージまたはピクチャを表示することができます。オブジェクトの背景を透明にするには、BackStyle プロパティを使用します。


非連結

ワークシートのセルなどの特定のデータ ソースにコントロールが関連付けられていない状態。


マルチ ページ (MultiPage) コントロール

マルチ ページ (MultiPage) コントロールは、1 つまたは複数の Page オブジェクトのコレクションが含まれるコントロールです。

マルチ ページ (MultiPage) コントロールの各 Page オブジェクトは、独立してコントロールを配置できるフォームで、独自のレイアウトにすることができます。通常、マルチ ページ (MultiPage) コントロール内の各ページは、ユーザーがページを選択できるようにタブが付いています。

既定値では、マルチ ページ (MultiPage) コントロールには Page1 と Page2 の 2 つのページが含まれています。ページのそれぞれが Page オブジェクトで、すべての Page オブジェクトの集合がマルチ ページ (MultiPage) コントロールの Pages コレクションになります。ページを追加すると、追加したページは同じ Pages コレクションの一部となります。


タブ ストリップ (TabStrip) コントロール

タブ ストリップ (TabStrip) コントロールとは、1 つまたは複数の Tab オブジェクトのコレクションが含まれるコントロールです。

タブ ストリップ (TabStrip) コントロールの各 Tab オブジェクトは独立したオブジェクトで、ユーザーはこれらを選択することができます。また、視覚的には、タブ ストリップ (TabStrip) コントロールにはタブ ストリップ (TabStrip) コントロール内のすべての Tab オブジェクトが共有するクライアント領域があります。

既定値では、タブ ストリップ (TabStrip) コントロールには Tab1 と Tab2 の 2 つのページが含まれています。ページのそれぞれが Tab オブジェクトで、すべての Tab オブジェクトの集合がタブ ストリップ (TabStrip) コントロールの Tabs コレクションになります。ページを追加すると、追加したページは同じ Tabs コレクションの一部となります。


マルチ ページ (MultiPage) コントロールとタブ ストリップ (TabStrip) コントロールの違い

レイアウトは同一でデータだけを変化させる場合は、タブ ストリップ (TabStrip) コントロールを使って各データを個々の Tab オブジェクトに割り当てます。複数のレイアウトが必要な場合は、マルチ ページ (MultiPage) コントロールを使って各レイアウトを個々の Page オブジェクトに割り当てます。

タブ ストリップ (TabStrip) コントロールのクライアント領域は、マルチ ページ (MultiPage) コントロールの Page オブジェクトとは異なり、独立したフォームではなく、タブ ストリップ (TabStrip) コントロールが含まれるフォームの一部です。タブ ストリップ (TabStrip) コントロールの境界線は、Tab オブジェクトに関連付けることができるフォームの領域を定義します。タブ ストリップ (TabStrip) コントロールのクライアント領域にコントロールを配置するとき、コントロールはタブ ストリップ (TabStrip) コントロールが含まれるフォームに追加することになります。


テキスト ボックス (TextBox) コントロール利用上のヒント

テキスト ボックス (TextBox) コントロールは、Text、MultiLine、WordWrap、および AutoSize の 4 つのプロパティにより制御される、柔軟性の高いコントロールです。

Text プロパティには、テキスト ボックス (TextBox) コントロールに表示する文字列を設定します。

MultiLine プロパティは、文字列を 1 行で表示するか、複数行で表示するかを指定します。改行文字は、行が終わって次の行が始まる場所を表します。

WordWrap プロパティを使うと、テキスト ボックスの幅よりも長い行をテキスト ボックスの幅に収まるように文字列を折り返すことができます。

WordWrap プロパティに偽 (False) を設定すると、改行文字がない限り、改行されません。WordWrap プロパティに偽 (False) を設定すると、テキスト ボックスからはみ出す行がでてくる可能性があります。この場合、テキスト ボックス (TextBox) コントロールの幅に収まる部分だけが表示され、はみ出す部分は表示されません。WordWrap プロパティは、MultiLine プロパティに真 (True) が設定されている場合のみ利用できます。

AutoSize プロパティは、文字列がすべて表示されるようにテキスト ボックス (TextBox) コントロールのサイズを自動調整するかどうかを指定します。AutoSize プロパティに真 (True) を設定すると、テキスト ボックス (TextBox) コントロールの幅は、文字列の長さと文字列表示用のフォント サイズによって自動的に伸縮します。

AutoSize プロパティは、次のような状況で利用すると便利です。

•	単一行のみ表示するテキスト ボックス (TextBox) コントロールの内容を表示するとき。

•	読み取り専用の複数行を表示するテキスト ボックス (TextBox) コントロールの内容を表示するとき。


標準的なリスト ボックス (ListBox) コントロールを作成する

1	プロパティ ウィンドウで ListStyle プロパティを選択します。

2	右端の下向き矢印をクリックして、選択可能なスタイルの一覧を表示します。

3	一覧から fmListStylePlain を選択します。


オプション ボタンまたはチェック ボックスを持つリスト ボックス (ListBox) コントロールを作成する

1	プロパティ ウィンドウで ListStyle プロパティを選択します。

2	右側の下向き矢印をクリックして、選択可能なスタイルの一覧を表示します。

3	一覧から fmListStyleOption を選択します。

ListStyle プロパティに fmListStyleOption が設定されているときは、MultiSelect プロパティでリスト ボックスにチェック ボックスを表示するか、オプション ボタンを表示するかを決めます。このとき、MultiSelect プロパティが fmMultiSelectSingle の場合は、オプション ボタンを持つリスト ボックスになります。MultiSelect プロパティが fmMultiSelectMulti または fmMultiSelectExtended の場合は、チェック ボックスを持つリスト ボックスになります。


リスト ボックス (ListBox) コントロールのスタイル

リスト ボックス (ListBox) コントロールは、2 種類のスタイルのうちいずれかを選ぶことができます。スタイルによって、ユーザーがリストから項目を選択するときの選択方法が異なってきます。

スタイルが fmListStylePlain の場合は、各項目は項目ごとに異なる行に表示されます。このスタイルの場合、ユーザーは 1 つ以上の行を強調表示することにより項目を選択します。

スタイルが fmListStyleOption の場合は、各行の先頭にオプション ボタンまたはチェック ボックスが表示されます。このスタイルの場合、ユーザーはオプション ボタンまたはチェック ボックスをクリックすることにより項目を選択します。チェック ボックスが表示されるのは、MultiSelect プロパティが fmMultiSelectMulti または fmMultiSelectExtended の場合だけです。


DataObject オブジェクトとクリップボードの違い

DataObject オブジェクトとクリップボードは、どちらもデータを別の場所へ格納する手段を提供します。DataObject オブジェクトやクリップボードを使うときは、以下の点を理解しておく必要があります。

•	DataObject オブジェクトもクリップボードも、データ形式が異なれば、一度に複数のデータを格納できます。既に格納されている形式と同一形式のデータを格納すると、新しいデータが保存され、古いデータは破棄されます。

•	クリップボードは、ピクチャ形式とテキスト形式をサポートしています。DataObject オブジェクトは、現在のところテキスト形式のみサポートしています。

•	DataObject オブジェクトは、アプリケーションの実行中のみ存在します。一方、クリップボードは、オペレーティング システムが動作している限り存在します。したがって、クリップボードに格納したデータはアプリケーションを終了しても失われませんが、DataObject オブジェクトに格納したデータは、アプリケーションを終了すると失われます。

•	DataObject オブジェクトは標準の OLE オブジェクトですが、クリップボードは OLE オブジェクトではありません。したがって、クリップボードは標準的な移動操作 (コピー、切り取り、および貼り付け) はサポートしていますが、ドラッグ アンド ドロップ操作はサポートしていません。ドラッグ アンド ドロップ操作をサポートしたアプリケーションを作成するには、DataObject オブジェクトを使う必要があります。

ヒント   SetText メソッドを使ってデータをクリップボードまたは DataObject オブジェクトに格納するときは、データ形式名を独自に定義できます。これにより、アプリケーションによって格納された文字列と、ユーザーが格納した文字列とを区別できます。


ツールボックスの表示/非表示を切り替える

[表示] メニューの [ツールボックス] の左側にチェック マークが付いているかどうかによって、ツールボックスの表示/非表示が切り替わります。チェック マークが付いていれば、ツールボックスは表示されています。チェック マークが付いていなければ、ツールボックスは非表示になっています。

次のいずれかの操作を行います。

•	ツールボックスを表示するには、[ツールボックス] の左側にチェック マークを付けます。

•	ツールボックスを非表示にするには、[ツールボックス] の左側にチェック マークを消します。


ツールボックス

ツールボックスには、フォーム、フレーム (Frame) コントロール、または Page オブジェクトに追加できるさまざまなコントロールが置かれています。

ツールボックスは、次のようなさまざまな方法でカスタマイズできます。

•	ツールボックスに Page オブジェクトを追加する。

•	あるページから別のページにコントロールを移動する。

•	ページの名前を変更する。

•	ツールボックスに ActiveX コントロールなどほかのコントロールを追加する。

•	カスタマイズしたコントロールをフォームからツールボックスにコピーする。

たとえば、コマンド ボタン (CommandButton) コントロールには、[OK] ボタンと [キャンセル] ボタンの 2 つの特殊な設定があります。[OK] ボタンと [キャンセル] ボタンのテンプレートをツールボックスに追加しておけば、それらをほかのフォームに簡単に追加することができます。


ツールボックスにカスタマイズしたコントロールを追加する

1	コントロールをフォームに配置し、カスタマイズします。たとえば、[OK] ボタンを作成するには、コマンド ボタン (CommandButton) コントロールをフォームに配置し、その Caption プロパティに OK を設定し、Default プロパティに真 (True) を設定します。

2	カスタマイズしたコントロールを選択します。

3	コントロールをツールボックスにドラッグします。

メモ   コントロールをツールボックスにドラッグしたとき、転送されるのはプロパティの値だけです。コントロールに対して記述したコードは転送されません。


フォームにコントロールを追加する

ツールボックスからフォームにコントロールを追加するには、次のいずれかの方法を行います。フォーム上のフレーム (Frame) コントロール、タブ ストリップ (TabStrip) コントロール、またはマルチ ページ (MultiPage) コントロールにコントロールを挿入するときもこれらの方法で行います。

•	ツールボックスのコントロールをクリックし、次にフォームをクリックします。既定のサイズのコントロールが配置されます。コントロールをドラッグして、サイズを変更できます。

•	ツールボックスからフォームにコントロールをドラッグします。既定のサイズのコントロールが配置されます。

•	ツールボックスのコントロールをダブルクリックし、フォーム上で作成したいコントロールの数と同じ回数だけクリックします。たとえば、4 つのコマンド ボタンを作成するには、ツールボックスのコマンド ボタン (CommandButton) コントロールをダブルクリックし、フォーム上で 4 回クリックします。


ツールボックスにコントロールを追加する

1	ツールボックス内の任意のコントロールまたはツールボックス内の任意のページの何も表示されていない部分をマウスの右ボタンでクリックします。

2	ショートカット メニューの [その他のコントロール] をクリックします。

3	[利用可能なコントロール] の一覧から、新しく追加するコントロールを選択します (複数選択可)。

4	[OK] をクリックします。


ツールボックスからコントロールを削除する

1	ツールボックスで、削除したい項目のコントロールをマウスの右ボタンでクリックします。

2	ショートカット メニューの [削除] をクリックします。このコマンドには選択したコントロールの名前が含まれています。

メモ   ショートカット メニューの [その他のコントロール] をクリックし、削除したいすべてのコントロールのチェック ボックスをオフにしても、コントロールを削除できます。


ツールボックス のコントロールのアイコンをカスタマイズする

1	カスタマイズするツールボックスのコントロールのアイコンをマウスの右ボタンでクリックします。

2	ショートカット メニューの [カスタマイズ] をクリックします。

3	次のいずれかの操作を行います。

•	ツールヒントを変更するには、ツールヒントにする新しい文字列を入力します。

•	アイコンを編集するには、[ピクチャの編集] をクリックします。次に目的の色を選択し、その色を適用するイメージのピクセルを選択します。

•	新しいビットマップを割り当てるには、[ピクチャの読み込み] をクリックします。次にアイコンとして使いたいビットマップが含まれるファイルを指定します。アイコンよりも大きなピクチャをロードしようとすると、エラーが発生します。


ツールヒント

ツールヒントとは、コントロールの上または画面上のユーザーが操作する部分で、マウス ポインタをクリックせずにしばらく置くと表示される短い説明で、通常、数文字で構成されます。コントロールとツールボックスのツールヒントは、カスタマイズできます。

フォーム上からツールボックスにコントロールをコピーした場合、そのコントロールの既定のツールヒントは、"新規" の後にコントロールの名前が付加されたものになります。たとえば、カスタマイズしたコマンド ボタン (CommandButton) コントロール ([OK] ボタンなど) の既定のツールヒントは、"新規 コマンド ボタン" になります。コントロールにツールヒントが割り当てられていない場合は、"不明" が既定値になります。

メモ   ツールヒントは、デザイン時に Microsoft Forms が開発者に対して提供する情報です。各コントロールは ControlTipText というプロパティを持っており、これは、アプリケーションの実行時に開発者がエンド ユーザーに対して提供する "ツールヒント" となります。


ツールボックス内のコントロールのツールヒントをカスタマイズする

1	ツールボックスからコントロールを選択します。

2	マウスの右ボタンをクリックします。

3	ショートカット メニューの [カスタマイズ] をクリックします。[カスタマイズ] には、"カスタマイズ ラベル" のように選択したコントロールの名前が含まれています。

4	ツールヒントにする新しい文字列を入力します。

5	[OK] をクリックします。


ツールボックスのページに対してツールヒントを設定する

1	ツールボックスのページを選択します。

2	マウスの右ボタンをクリックします。

3	ショートカット メニューの [名前の変更] をクリックします。

4	ツールヒントにする新しい文字列を入力します。

5	[OK] をクリックします。


ツールボックスのページの名前を変更する

1	名前を変更したいツールボックスのページのタブをマウスの右ボタンでクリックします。

2	ショートカット メニューの [名前の変更] をクリックします。

3	[キャプション] ボックスに、新しい名前を入力します。

4	[OK] をクリックします。


ツールボックスのページの順序を変更する

1	任意のツールボックスのページのタブをマウスの右ボタンでクリックします。

2	ショートカット メニューの [移動] をクリックします。

3	[ページの順序] ボックスの中から、移動させたいページの名前を選択します。

4	ページがページ一覧内の目的の位置に来るまで [上に移動] または [下に移動] をクリックします。

5	[OK] をクリックします。


ツールボックスのページを新規作成する

1	任意のツールボックス ページのタブをマウスの右ボタンでクリックします。新規ページは、このページの後に挿入されます。

2	[新しいページ] をクリックします。


ツールボックスのページを削除する

1	削除したいツールボックス ページのタブをマウスの右ボタンでクリックします。

2	[ページの削除] をクリックします。そのページに配置されているすべてのコントロールが一度に削除されます。


ツールボックスのページをインポートまたはエクスポートする

1	任意のツールボックス ページのタブをマウスの右ボタンでクリックします。ページをインポートする場合は、このページの後に挿入されます。

2	次のいずれかの操作を行います。

•	ページをインポートするには、[ページのインポート] をクリックします。次に、インポートしたいツールボックス ページのファイルの名前を選択します。

•	ページをエクスポートするには、[ページのエクスポート] をクリックします。次に、ツールボックス ページのコピーを保存するファイルの名前を入力します。ページをエクスポートしても、そのページはツールボックスからは削除されません。

３   [OK] をクリックします。


コントロールを別のツールボックスのページに移動する

1	任意のツールボックスのページからコントロールを選択します。

2	選択したコントロールを新しいページのタブにドラッグします。そのページがツールボックスの一番手前に来るまで、マウス ポインタをタブの上に置いておきます。

3	コントロールをページの領域にドラッグします。

メモ   コントロールを配置したいページが隠れている場合は、すべてのページのタブが見えるようにツールボックスの幅を広げてから、コントロールを目的のページにドラッグしてください。


ツールボックスのサイズを変更する

1	マウス ポインタをツールボックスの縁または隅に移動します。マウス ポインタは、2 方向矢印に変わります。

2	2 方向矢印が表示されたら、ツールボックスをドラッグしてサイズを変更します。


カスタム ヘルプ トピックをコントロールに割り当てる

ここで示す手順では、既にカスタム ヘルプ ファイルを作成し、プロジェクトへの関連付けが終わっていることを前提としています。ヘルプ ファイルをプロジェクトに関連付ける方法は、プロジェクトの環境によって異なります。

1	記述したカスタム ヘルプ トピックに対応するコントロールを選択します。

2	プロパティ ウィンドウで HelpContextID プロパティを選択します。

3	トピックのコンテキスト ID を入力します。


カスタム ヘルプ ファイルを作成する

カスタム ヘルプ ファイルを作成すると、開発したフォーム アプリケーションの使い方を示すヘルプをユーザーに提供できます。

カスタム ヘルプ ファイルを作成するには、Windows ヘルプ ファイルを作成するための製品またはツールを使用します。

カスタム ヘルプ ファイル内のトピックは、アプリケーション内の特定のコントロールと関連付けることができます。アプリケーションの実行時に、ユーザーはコントロールを選択して F1 キーを押せば、そのヘルプ トピックを表示できます。


アクセス キーを割り当てる

1	デザイン モードで、フォーム上のアクセス キーを設定するコントロールを選択します。

2	プロパティ ウィンドウで Accelerator プロパティを選択します。

3	Accelerator プロパティの値として、アクセス キーとする 1 文字を入力します。Accelerator プロパティには、ANSI 文字のみ設定できます。

ヒント   Accelerator プロパティに設定する文字は、コントロールのキャプションの文字を使用してください。選択した文字は、コントロールのキャプションの中で下線付きで表示されます。たとえば、"ファイル (F)" を設定するときは、キャプションにあらかじめ "ファイル (F)" を設定し、Accelerator プロパティに "F" を設定しますいずれか


Page オブジェクトまたは Tab オブジェクトにアクセス キーを割り当てる

1	デザイン モードで、対象となる Page オブジェクトまたは Tab オブジェクトを選択します。対応するマルチ ページ (MultiPage) コントロールやタブ ストリップ (TabStrip) コントロールではなく、必ず Page オブジェクトや Tab オブジェクトを選択してください。Page オブジェクトまたは Tab オブジェクトを選択すると、選択した Page オブジェクトまたは Tab オブジェクトのキャプションの周りに四角形が表示されます。

2	選択した Page オブジェクトまたは Tab オブジェクトをマウスの右ボタンでクリックします。

3	ショートカット メニューの [名前の変更] をクリックします。

4	[名前の変更] ダイアログ ボックスの [アクセス キー] ボックスに、アクセス キーとして指定する 1 文字を入力します。[アクセス キー] ボックスには、ANSI 文字のみ設定できます。

ヒント   Accelerator プロパティに設定する文字は、コントロールのキャプションの文字を使用してください。選択した文字は、コントロールのキャプションの中で下線付きで表示されます。たとえば、"ファイル (F)" を設定するときは、キャプションにあらかじめ "ファイル (F)" を設定し、Accelerator プロパティに "F" を設定します。


Page オブジェクトまたは Tab オブジェクトにコントロール ヒントを割り当てる

1	対象となる Page オブジェクトまたは Tab オブジェクトを選択します。

対応するマルチ ページ (MultiPage) コントロールやタブ ストリップ (TabStrip) コントロールではなく、必ず Page オブジェクトや Tab オブジェクトを選択してください。Page オブジェクトまたは Tab オブジェクトを選択すると、そのキャプションの周りに四角形が表示されます。

2	選択した Page オブジェクトまたは Tab オブジェクトをマウスの右ボタンでクリックします。

3	ショートカット メニューの [名前の変更] をクリックします。

4	[コントロール ヒント 文字列] ボックスにコントロール ヒントとする文字列を入力します。

5	[OK] をクリックします。

ヒント   マルチ ページ (MultiPage) コントロールやタブ ストリップ (TabStrip) コントロールにコントロール ヒントを割り当てるには、ControlTipText プロパティを使います。


コントロールにコントロール ヒントを割り当てる

1	対象となるコントロールを選択します。

2	プロパティ ウィンドウで ControlTipText プロパティを選択します。

ControlTipText プロパティの値は、コードから設定することもできます。

3	コントロール ヒントとする文字列を入力します。

ヒント   Page オブジェクトや Tab オブジェクトにコントロール ヒントを割り当てるには、Page オブジェクトまたは Tab オブジェクトのショートカット メニューの [名前の変更] を使います。


コントロール ヒント

コントロール ヒントとは、コントロール、Page オブジェクト、または Tab オブジェクトの説明を表す短い文字列です。コントロール ヒントは、コントロール上でマウス ポインタをクリックせずにしばらく置くと表示されます。コントロール ヒントはツールヒントとよく似ています。違いは、ツールヒントは Microsoft Forms がデザイン時に開発者に提供するものであるのに対して、コントロール ヒントは開発者が実行時にエンド ユーザーに対して提供するものであるという点です。

コントロール ヒントをマルチ ページ (MultiPage) コントロールやタブ ストリップ (TabStrip) コントロールに割り当てると、マルチ ページ (MultiPage) コントロールやタブ ストリップ (TabStrip) コントロールに含まれる個々の Page オブジェクトや Tab オブジェクトのコントロール ヒントは表示されなくなります。


キャプションを割り当てる

チェック ボックス (CheckBox) コントロール、コマンド ボタン (CommandButton) コントロール、フレーム (Frame) コントロール、ラベル (Label) コントロール、オプション ボタン (OptionButton) コントロール、またはトグル ボタン (ToggleButton) コントロールにキャプションを割り当てるには

1	対象となるコントロールのプロパティ ウィンドウを表示します。

2	Caption プロパティを選択します。

3	キャプションとして付けたい文字列を入力します。

Page オブジェクトまたは Tab オブジェクトにキャプションを割り当てるには

1	対象となる Page オブジェクトまたは Tab オブジェクトが含まれるマルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールを選択します。

2	対象となる Page オブジェクトまたは Tab オブジェクトを選択します。Page オブジェクトまたは Tab オブジェクトを選択すると、そのキャプションの周りに四角形が表示されます。

3	選択したマルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールをマウスの右ボタンでクリックします。

4	ショートカット メニューの [名前の変更] をクリックします。

5	[キャプション] ボックスに、キャプションとして付けたい文字列を入力します。

6	[OK] をクリックします。


キャプション

キャプションとは、ユーザーがコントロールを識別するための文字列のことです。チェック ボックス (CheckBox)、コマンド ボタン (CommandButton)、フレーム (Frame)、ラベル (Label)、オプション ボタン (OptionButton)、トグル ボタン (ToggleButton) の各コントロールには、キャプションを付けることができます。マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールに含まれる Page オブジェクトまたは Tab オブジェクトにも、キャプションを付けることができます。


[タブ オーダー] ダイアログ ボックスでタブ オーダーを設定する

1	コントロールがどれも選択されていないことを確認します。

2	フォーム上のコントロール以外の部分をマウスの右ボタンでクリックします。

3	ショートカット メニューの [タブ オーダー] をクリックします。

4	タブ オーダーを変更したいコントロールの名前を選択します。

5	[上に移動] または [下に移動] をクリックして、コントロール名をタブ オーダー内の目的の位置に設定します。


TabIndex プロパティでタブ オーダーを設定する

1	コントロールのタブ オーダーを何にするかを決めます。

2	タブ オーダーにおける先頭のコントロールのタブ インデックスは 0 で、2 番目のコントロールのタブ インデックスは 1 になります。以下同様に続きます。

3	タブ オーダーを変更するコントロールを選択します。

4	プロパティ ウィンドウで TabIndex プロパティを選択します。

5	タブ オーダー内におけるそのコントロールの位置を識別する数値を入力します。


マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロールのページの順序を変更する

1	マルチ ページ (MultiPage) コントロールまたはタブ ストリップ (TabStrip) コントロール内の任意のページを選択します。

2	ページのキャプションをマウスの右ボタンでクリックします。

3	ショートカット メニューの [移動] をクリックします。

4	[ページの順序] ボックスで、移動したい Page オブジェクトを選択します。

5	[上に移動] または [下に移動] をクリックして、ページの位置を変更します。

6	変更がすべて終了したら、[OK] をクリックします。

メモ   ページの順序の変更は、プロパティ ウィンドウの Index プロパティでも行うことができます。先頭のページのインデックスは 0 で、2 番目のページのインデックスは 1 になります。以下同様に続きます。


フォームのサイズを変更する

デザイン時

•	フォームが希望するサイズになるまでフォームのサイズ変更ハンドルをドラッグします。

実行時

•	フォームの Height プロパティと Width プロパティに目的の値を設定します。


フォームの位置を変更する

ユーザー インターフェイスによる方法

•	フォームが希望する位置に来るまでタイトル バーをドラッグします。

デザイン時

•	フォームの Left プロパティと Top プロパティに目的の値を設定します。これらの値は、プロパティ ウィンドウかコードから設定できます。


機密性の高い情報を保護する方法

多くのアプリケーションが、特定のユーザー以外、アクセスされては困るデータを扱います。ここでは、機密性の高い情報を Microsoft Forms で保護するためのヒントをいくつか紹介します。

•	許可されたユーザーに対してのみ、コントロール (およびそのデータ) が表示されるようにコードを記述します。コントロールの表示/非表示は、Visible プロパティで切り替えます。Visible プロパティの詳細については、 [image] をクリックしてください。

•	許可されていないユーザーがアプリケーションを実行したときは、コントロールの前景色と背景色が同じ色になるようにコードを記述します。このようにすると、許可されていないユーザーは情報が見えなくなります。前景色と背景色は、ForeColor プロパティと BackColor プロパティで設定します。ForeColor プロパティについては、 [image] をクリックしてください。BackColor プロパティについては、 [image] をクリックしてください。

•	許可されていないユーザーがアプリケーションを実行したときは、コントロールが無効になるようにコードを記述します。コントロールの有効/無効は、Enabled プロパティで設定します。Enabled プロパティについては、 [image] をクリックしてください。

•	アプリケーションを起動するとき、または特定のコントロールにアクセスするときにパスワードを要求するようにコードを記述します。テキスト ボックス (TextBox) コントロールでは、ユーザーが各文字を入力するとき、プレースホルダを表示することができます。プレースホルダ文字は、PasswordChar プロパティで定義できます。PasswordChar プロパティについては、 [image] をクリックしてください。

メモ   パスワードや、上記のその他のテクニックを使えばアプリケーションのセキュリティを強化できますが、許可されていないユーザーによるデータへのアクセスを完全に回避できるわけではありません。


コントロールのサイズをデータのサイズに合わせて自動的に調節する

プロパティ ウィンドウで、AutoSize プロパティに真 (True) を設定します。


コントロールの外観を変える

Microsoft Forms では、アプリケーション内のコントロールの外観を定義する次のようなプロパティが用意されています。

•	ForeColor プロパティ

•	BackColor プロパティ、BackStyle プロパティ

•	BorderColor プロパティ、BorderStyle プロパティ

•	SpecialEffect プロパティ

ForeColor プロパティは、前景色を指定します。前景色は、キャプションやコントロールの内容など、コントロールに関連付けられた任意の文字列に対して適用されます。

BackColor プロパティと BackStyle プロパティは、コントロールの背景に対して適用されます。背景とは、コントロール内の文字列の周辺の領域など、コントロールの境界線の内側の領域で、コントロールの境界線は含みません。BackColor プロパティは、背景色を指定します。BackStyle プロパティは、コントロールの背景を透明にするかどうかを指定します。アプリケーションの背景に画像を表示しており、配置したコントロールから図が透けて見えるようにしたい場合に、コントロールの背景を透明にすると便利です。

BorderColor プロパティ、BorderStyle プロパティ、および SpecialEffect プロパティは、コントロールの境界線に対して適用されます。境界線の種類は、BorderStyle プロパティまたは SpecialEffect プロパティで設定できます。この両方のプロパティを同時に使用することはできません。このいずれかのプロパティに値を設定すると、他方のプロパティの値は自動的に fmSpecialEffectFlat (0) になります。SpecialEffect プロパティでは、境界線スタイルをいくつかの選択肢の中から選ぶことができますが、境界線の色はシステム カラーしか使えません。一方、BorderStyle プロパティでは、サポートされている境界線スタイルは 1 種類だけですが、BorderColor プロパティの設定により任意の色を選ぶことができます。BorderColor プロパティは、コントロールの境界線の色を指定するプロパティで、BorderStyle プロパティで境界線を作成した場合のみ有効です。


イメージ (Image) コントロール上のピクチャを活用する

イメージ (Image) コントロールはピクチャそのものではなく、別ファイルとして保存されているピクチャを保持するものです。イメージ (Image) コントロールのプロパティでは、ピクチャを編集することはできませんが、イメージ (Image) コントロール上でのその表示形式を指定することはできます。

イメージ (Image) コントロールの面白い使い方として、アプリケーションの背景図としてイメージ (Image) コントロールを使う方法があります。イメージ (Image) コントロールをフォームと同じサイズにして、背景図を表示させます。その上に、別のコントロールを配置することができます。


コントロール内の文字列の位置を揃える

1	プロパティ ウィンドウで TextAlign プロパティを選択します。

2	プロパティの値の右にある下向きの矢印ボタンをクリックして、一覧を表示します。

3	次のいずれかを選択します。

•	[左揃え] - 文字列をコントロールの左端に揃えて表示します。

•	[右揃え] - 文字列をコントロールの右端に揃えて表示します。

•	[中央揃え] - 文字列をコントロールの中央に揃えて表示します。

TextAlign プロパティは、コンボ ボックス (ComboBox) コントロール、ラベル (Label) コントロール、およびテキスト ボックス (TextBox) コントロールで利用できます。


グリッドの表示/非表示を切り替える

1	[ツール] メニューの [オプション] をクリックします。

2	[全般] タブをクリックします。

3	次のいずれかの操作を行います。

•	グリッドを表示するには、[グリッドの表示] チェック ボックスをオンにします。

•	グリッドを非表示にするには、[グリッドの表示] チェック ボックスをオフにします。

４   [OK] をクリックします。


コントロールをグリッドに合わせる

1	対象となるコントロールを選択します。

2	[書式] メニューの [グリッドに合わせる] をクリックします。

選択したコントロールのサイズは、四隅がグリッドの点に合わせて自動的に調整されます。


コントロールのサイズを内容に合わせて調整する

1	対象となるコントロールを選択します。

2	[書式] メニューの [サイズを合わせる] をクリックします。

選択したコントロールのサイズは、ピクチャの大きさや、Caption プロパティまたは Text プロパティで設定された文字列の長さを表示するのに十分な大きさになるように自動的に調整されます。


複数のコントロールを同じサイズにする

1	サイズを同じにしたいコントロールをすべて選択します。

2	基準となるコントロールを選択します。

3	[書式] メニューの [同じサイズに揃える] をクリックします。

4	カスケード メニューから、次のいずれかのコマンドを選択します。

•	[幅] - 選択したすべてのコントロールの幅を基準となるコントロールと同じ幅にします。

•	[高さ] - 選択したすべてのコントロールの高さを基準となるコントロールと同じ高さにします。

•	[両方向] - 選択したすべてのコントロールの高さと幅を基準となるコントロールと同じにします。


複数のコントロールの位置を揃える

1	位置揃えを行うコントロールをすべて選択します。

2	基準となるコントロールを選択します。

3	[書式] メニューの [整列] をクリックします。

4	カスケード メニューから、次のいずれかのコマンドを選択します。選択した各コントロールの指定部分が、基準となるコントロールの同じ部分に揃います。

•	[左] - 左揃えにします。

•	[中央] - 各コントロールを中央揃えにします。基準となるコントロールの中心に引いた縦線の位置に、選択したすべてのコントロールの中心が揃います。

•	[右] - 右揃えにします。

•	[上] - 上端揃えにします。

•	[中央] - 各コントロールを中央揃えにします。基準となるコントロールの中心に引いた横線の位置に、選択したすべてのコントロールの中心が揃います。

•	[下] - 下端揃えにします。

•	[グリッドに合わせる] - 選択した各コントロールの左上端を一番近いグリッドの点に合わせます。このオプションの動作は、基準となるコントロールの位置とは無関係です。

メモ   上記メニューの各コマンドには、コントロールがどのように揃えられるかを表す小さなピクチャが付いています。


コントロール間の水平方向/垂直方向の間隔を調節する

1	間隔を調節するコントロールをすべて選択します。

2	[書式] メニューの [左右の間隔] または [上下の間隔] をクリックします。

3	カスケード メニューから、次のいずれかのコマンドを選択します。

•	[間隔を均等にする] - コントロール間の水平方向/垂直方向の間隔をすべて同じにします。水平方向/垂直方向の間隔の広さは、コントロールの表示領域の広さと、すべてのコントロールの幅の合計とによって異なってきます。

•	[間隔を広くする] - コントロール間の間隔を 1 グリッド ブロック分広げます。

•	[間隔を狭くする] - コントロール間の間隔を 1 グリッド ブロック分狭めます。

•	[間隔の削除] - コントロール間の間隔を 0 にします。コントロールは重なりませんが、互いに接触するように配置されます。


ボタンを整列させる

1	整列させるコマンド ボタン (CommandButton) コントロールをすべて選択します。

2	[書式] メニューの [ボタンの配置] をクリックします。

3	カスケード メニューから、次のいずれかのコマンドを選択します。

•	[下] - すべてのコマンド ボタン (CommandButton) コントロールをフォームの左下隅から、下端揃えで横一列に並べます。

•	[右] - すべてのコマンド ボタン (CommandButton) コントロールをフォームの右上隅から、右端揃えで縦一列に並べます。

ボタンを整列させたら、[書式] メニューの [左右の間隔] または [上下の間隔] でボタン間の間隔を調節します。

ヒント   コマンド ボタン (CommandButton) コントロールをフォームの下端または右端に近づけて配置したい場合は、このコマンドを選択する前にグリッドの間隔を狭くしておいてください。ボタンを整列させた後でグリッドの間隔を変更しても、ボタンの位置は変わりません。


フォーム内でコントロールを中央揃えにする

1	中央揃えにするコントロールまたはグループをすべて選択します。

2	[書式] メニューの [フォームの中央に配置] をクリックします。

3	カスケード メニューから、次のいずれかのコマンドを選択します。

•	[左右]

•	[上下]


コントロールのグループに対して行える操作

グループとは、フォーム上に配置された複数のコントロールの集まりで、ひとまとまりとして扱えるものを指します。フォーム上のどのコントロールでもグループに含めることができます。コントロールをグループに加えた場合、そのグループ全体に対して操作を行うことも、1 つのオブジェクトだけを対象に操作を行うこともできます。

Microsoft Forms では、グループおよびグループ内のコントロールを扱う各種の方法が提供されています。グループを選択したら、次のような操作が行えます。

•	グループ内のすべてのコントロールのサイズを同時に変更できます。詳細については、 [image] をクリックしてください。

•	グループ内の各コントロールをほかのコントロールと独立させて扱えるようにグループを解除できます。詳細については、 [image] をクリックしてください。

•	グループのショートカット メニューを表示して、グループを対象とするコマンドをすばやく選択できます。詳細については、 [image] をクリックしてください。

•	グループを解除せずにグループ内の 1 つのコントロールを選択できます。これにより、グループ内のほかのコントロールとは独立させて、特定のコントロールのプロパティの設定値を変更できます。詳細については、 [image] をクリックしてください。


Microsoft Forms における透明処理のサポート

Microsoft Forms では、特定のコントロールの背景と、特定のコントロールに表示したビットマップにおいて透明処理をサポートしています。

BackStyle プロパティは、コントロールを透明にするかどうかを指定します。コントロールを透明にすると、フォーム上のコントロールの後ろ (下) にあるものが透けて見えるようになります。フォームの背景に画像などを表示しているため、背景がコントロールにより隠されてしまうのをできる限り避けたい場合に、コントロールを透明にすると便利です。コントロールを透明にする方法の詳細については、 [image] をクリックしてください。

Microsoft Forms では、多くのコントロールにビットマップを表示できます。コントロールによっては透明なビットマップ (1 つ以上の背景色が透明なビットマップ) をサポートしています。ビットマップの透明/不透明はコントロールのプロパティではなく、イメージの左下のピクセルの色により制御されます。Microsoft Forms では、ビットマップを編集して透明にする手段は提供されていません。ビットマップの編集には、ペイントなどのイメージ編集アプリケーションを使う必要があります。

Microsoft Forms では、次のコントロールに表示されたビットマップは常に透明になります。

•	チェック ボックス (CheckBox) コントロール

•	コマンド ボタン (CommandButton) コントロール

•	ラベル (Label) コントロール

•	オプション ボタン (OptionButton) コントロール

•	トグル ボタン (ToggleButton) コントロール

透明なピクチャはかすんで表示されることがあります。このような表示を避けるには、不透明なイメージ表示をサポートするコントロール上でピクチャを表示してください。

透明なビットマップをサポートしていないコントロールに透明なビットマップを表示した場合は、ビットマップは正しく表示されますが、その後ろ (下) にあるものは透けては見えません。Microsoft Forms では、次のコントロールは透明なビットマップをサポートしていません。

•	フォーム ウィンドウ (UserForm)

•	フレーム (Frame) コントロール

•	イメージ (Image) コントロール

•	マルチ ページ (MultiPage) コントロール


ショートカット メニュー

ショートカット メニューは、オブジェクトをマウスの右ボタンでクリックしたときに表示されるメニューです。Microsoft Forms では、次のオブジェクトがショートカット メニューを持っています。

•	ツールボックス、ツールボックスの各ページ、およびツールボックスのページ上の各項目。

•	フォーム上に配置された各コントロール。

•	コントロールのグループ ([グループ化] コマンドにより作成されたグループ)。

•	コンテナ (UserForm など)。

•	マルチ ページ (MultiPage) コントロールに含まれる各 Page オブジェクト。

•	タブ ストリップ (TabStrip) コントロールに含まれる各 Tab オブジェクト。

•	グループ化されていない複数のコントロール。

ショートカット メニューにどのようなコマンドが表示されるかは、選択したオブジェクトによって異なります。たとえば、グループ化されていない複数のコントロールを選択した場合、ショートカット メニューには [グループ化] コマンドが含まれますが、ツールボックスのショートカット メニューには、このコマンドは含まれません。

コントロールまたはコンテナのショートカット メニューを表示するには、オブジェクトをマウスの右ボタンでクリックします。

マルチ ページ (MultiPage) コントロールまたは Page オブジェクトのショートカット メニューの表示方法の詳細については、 [image] をクリックしてください。

タブ ストリップ (TabStrip) コントロールまたは Tab オブジェクトのショートカット メニューの表示方法の詳細については、 [image] を参照してください。


リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに項目を追加する

列が 1 つのリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでは、リストへの項目の追加は AddItem メソッドを使用するのが効率的です。一方、複数の列があるリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールでは、List プロパティと Column プロパティによりリストへ項目を追加します。この場合、2 次元配列からリストをロードできます。


複数の列があるリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに対して行える操作

複数の列があるリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの列幅を設定するには、ColumnWidths プロパティですべての列に対して幅をポイント単位で指定します。列幅として 0 を指定した列は、情報が非表示になります。


List プロパティまたは Column プロパティを使ってリストに項目を追加する

1	複数の列があるリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールを作成します。

2	リストに追加したい項目が含まれる 2 次元配列を作成します。

3	リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールの ColumnCount プロパティにリスト内の項目数と同じ値を設定します。

4	次のいずれかの操作を行います。

•	List プロパティの値として配列を設定します。リスト ボックス (ListBox) コントロールの内容は、配列の内容と同じになります。

•	Column プロパティの値として配列を設定します。Column プロパティは行と列を置き換えるため、リスト ボックス (ListBox) コントロールの各行の内容は、配列の対応する列の内容と同じになります。


ツールヒントの表示/非表示を切り替える

1	[ツール] メニューの [オプション] をクリックします。

2	[全般] タブをクリックします。

3	次のいずれかの操作を行います。

•	ツールヒントを表示するには、[ツールヒントの表示] チェック ボックスをオンにします。

•	ツールヒントを非表示にするには、[ツールヒントの表示] チェック ボックスをオフにします。


Microsoft Forms のオブジェクト モデル

Microsoft Forms のオブジェクト モデルには、次の種類のオブジェクトが含まれます。

•	コントロール

•	コレクション

•	コレクション内のオブジェクト

Microsoft Forms のオブジェクト モデルの要素は、それぞれにプロパティ、イベント、およびメソッドを持っています。それらのプロパティ、イベント、およびメソッドを使ってオブジェクトを操作できます。

Microsoft Forms には、次の 3 つのコレクションがあります。

Controls コレクション - フォーム上、フレーム (Frame) コントロール上、または Page オブジェクト上に配置されたすべてのコントロールが含まれるコレクションです。

Pages コレクション - マルチ ページ (MultiPage) コントロール内のすべての Page オブジェクトが含まれるコレクションです。各マルチ ページ (MultiPage) コントロールは、個別の Pages コレクションを持っています。

Tabs コレクション - タブ ストリップ (TabStrip) コントロール内のすべての Tab オブジェクトが含まれるコントロールです。各タブ ストリップ (TabStrip) コントロールは、個別の Tabs コレクションを持っています。


オプション グループを作成する

既定値では、コンテナ (フォーム、マルチ ページ (MultiPage) コントロール、フレーム (Frame) コントロールなど) の中に配置されたオプション ボタン (OptionButton) コントロールは、1 つのオプション グループを形成します。つまり、オプション ボタンをいずれか 1 つ選択すると、そのフォーム上のほかのオプション ボタンはすべて自動的に偽 (False) になります。

1 つのフォーム上に複数のオプション グループを作成する方法としては、次の 2 種類があります。

•	GroupName プロパティを使って、関連するボタンを識別する。

•	関連するボタンをフォーム上の 1 つのフレーム (Frame) コントロールに入れる。

必要なコントロール数が少なくて済むため、2 番目の方法より最初の方法をお勧めします。コントロール数が少なくなれば、アプリケーションに必要なメモリ容量が少なくて済み、アプリケーションのパフォーマンスも向上します。

メモ   タブ ストリップ (TabStrip) コントロールは、コンテナではありません。タブ ストリップ (TabStrip) コントロール上に配置されたオプション ボタン (OptionButton) コントロールは、フォームのオプション グループに所属します。GroupName プロパティを使うと、タブ ストリップ (TabStrip) コントロール上に配置されたオプション ボタン (OptionButton) コントロールからオプション グループを作成できます。


GroupName プロパティによりオプション グループを作成する

1	必要なオプション ボタン (OptionButton) コントロールをすべてフォーム上に配置します。マルチ ページ (MultiPage) コントロールまたはフレーム (Frame) コントロール上に配置されたオプション ボタン (OptionButton) コントロールは、自動的にオプション グループを形成します。

2	どのオプション ボタン (OptionButton) コントロールをどのグループに含めるかを決めます。

3	各コントロールの Name プロパティに値を入力します。

4	同じグループに含めるすべてのオプション ボタン (OptionButton) コントロールの GroupName プロパティに同じ値を設定します。


リスト内の項目を自動選択する方法

Microsoft Forms では、ユーザーが入力した値をリスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールのリスト内の項目と突き合わせ、一致する項目を自動的に選択する方法が 3 種類用意されています。

•	[マッチングをしません] － ユーザーが入力した内容と、リスト内の項目との突き合わせを行いません。

•	[1 文字目が一致する候補を検索] － 最後に入力した文字と、リスト内の各項目の先頭の文字とを突き合わせます。リスト内の最初に一致した項目が選択されます。

•	[完全に一致する単語だけを検索] － ユーザーが入力した内容とリスト内の各項目とを突き合わせ、正確に一致する項目を発見します。

この突き合わせ機能は 2 秒後にリセットされます (日本、韓国などの東アジア版では 6 秒後)。たとえば、全米 50 の州のリストで「CO」とすばやく入力すると、"Colorado" が選択されます。ただし、ゆっくりと「CO」と入力すると、"O" を入力するまでの間に自動突き合わせ機能がリセットされるため、"Ohio" が選択されます。

[完全に一致する単語だけを検索] を使う場合は、リストの項目を昇順または降順に並べ替えておくのが望ましいといえます (TextColumn プロパティを使って並べ替えができます)。リストが昇順または降順に並べ替えられていないと、突き合わせが正確に行われない場合があります。たとえば、リストに "Alabama"、"Louisiana"、"Alaska" がこの順序で含まれている場合、ユーザーが「ala」と入力すると、"Alabama" が一致した項目として選択されることになります。このリストには、ユーザーの入力した "ala" に一致する可能性のある項目が 2 つ存在するため、この結果はあいまいなものとなります。項目を昇順または降順に並べ替えておけば、このような問題を避けられます。


コントロールの Z オーダーを変更する

コントロールの Z オーダーを前面または後面に移動するには

1	Z オーダーを変更するコントロールを選択します。

2	[書式] メニューの [順序] をクリックします。

3	カスケード メニューから、[最前面へ移動] または [最背面へ移動] を選択します。

コントロールの Z オーダーを 1 段階だけ移動するには

1	Z オーダーを変更するコントロールを選択します。

2	[書式] メニューの [順序] をクリックします。

3	サブ メニューから、[前面へ移動] または [背面へ移動] を選択します。

メモ   [最前面へ移動] や [最背面へ移動] などの Z オーダー変更コマンドに対して、[元に戻す] や [やり直し] を使うことはできません。たとえば、オブジェクトを選択してショートカット メニューの [背面へ移動] をクリックした後、その操作を元に戻したり、やり直したりすることはできません。

[最前面へ移動]、[前面へ移動]、[最背面へ移動]、および [背面へ移動] のメニューを選択すると、他のコントロールに対して相対的にコントロールの Z オーダーを変更できます。フォーム上にリスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールが配置されている場合、これらのコントロールは自動的に重なりの上部近くに移動します。たとえば、リスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールに対して [背面へ移動] 操作を行うと、これらのコントロールは他のコントロールの下に移動します。ただし、重なり合う他のコントロール下には移動しません。同様にリスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールに対して [前面へ移動] 操作を行うと、これらのコントロールは重なりの上部近くに移動します。ただし、重なり合うリスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、またはマルチ ページ (MultiPage) コントロールには移動しません。

画面上では、リスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、マルチ ページ (MultiPage) コントロール、および他の Microsoft Forms のコントロールがフォーム上の同じ位置にある場合は、リスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、マルチ ページ (MultiPage) コントロールはいつも他のコントロールより上に表示されます。リスト ボックス (ListBox) コントロール、フレーム (Frame) コントロール、マルチ ページ (MultiPage) コントロールが他のこれらのコントロールと同じ位置にある場合は、コントロールの Z オーダーによって上部に表示されるコントロールが決まります。


コントロールを透明にする

1	フォーム上にコントロールを配置します。

2	コントロールのプロパティ ウィンドウを表示します。

3	BackStyle プロパティに "fmBackStyleTransparent (0)" を設定します。

4	BorderStyle プロパティをサポートしているコントロールでは、BorderStyle プロパティに "fmBorderStyleNone (0)" を設定します。

メモ   コントロールを透明に設定するとオブジェクトの背景色は表示されなくなるため、BackColor プロパティは無視されます。ただし、コントロールを透明にしても BackColor プロパティの設定は変わりません。


コントロールからビットマップを削除する

プロパティ ウィンドウから削除する場合

1	Picture プロパティの値 ("ビットマップ" という文字列) を強調表示します。

2	Del キーを押します。

コードから削除する場合

•	次のステートメントを入力します。
Object.Picture = LoadPicture("")


コントロールにビットマップを割り当てる

デザイン時

1	Picture プロパティを選択します。

2	[ピクチャの読み込み] ダイアログ ボックスで、ピクチャの名前とその場所を入力します。

ピクチャのサイズがコントロールより大きい場合は、プロパティ ウィンドウまたはコードのいずれから割り当てても、ピクチャのサイズはコントロールに収まるように自動調整されます。PictureAlignment プロパティは、コントロール内でのピクチャの配置位置を指定します。


コントロール内でのピクチャの配置位置を設定する

ビットマップやそのほかのピクチャをコントロールに割り当てるには、Picture プロパティを使います。コントロールにピクチャを割り当てたら、次のいずれかの方法で、コントロール内でのピクチャの配置位置を設定できます。

•	PictureAlignment プロパティを使って、ピクチャをイメージ (Image) コントロール内の中央に配置するか、ピクチャの右上隅、右下隅、左上隅、左下隅のいずれかをイメージ (Image) コントロールの対応する隅に揃えて配置します。

•	PictureSizeMode プロパティを使って、イメージ (Image) コントロール内でのピクチャのクリッピング、引き伸ばし、ズームを行います。引き伸ばしを行うと、ピクチャがゆがむことがありますが、ズームではゆがみは生じません。

•	PictureTiling プロパティを使って、イメージ (Image) コントロール内にピクチャのコピーを複数表示します。


グリッドのサイズを指定する

1	[ツール] メニューの [オプション] をクリックします。

2	[オプション] ダイアログ ボックスの [全般] タブをクリックします。

3	[グリッドの設定] で、グリッド ブロックのサイズを目的の値に設定します。小さな値を指定すると、グリッド ブロックは小さくなります。

ヒント   [ボタンの配置] コマンドを使ってコマンド ボタン (CommandButton) コントロールを整列させるときは、グリッド ブロックを小さくしておくと便利です。グリッド ブロックを小さくしておくと、コマンド ボタン (CommandButton) コントロールをフォームの端により近づけて配置できます。


コントロール グループを作成する

1	フォーム上で、グループに含めるコントロールをすべて選択します。

2	[書式] メニューの [グループ化] をクリックします。


グループ内のすべてのコントロールのサイズを変更する

1	対象とするグループを選択します。

グループが選択されたことを表す、グループ全体を囲むサイズ変更ハンドルの付いた四角形の領域が選択されます。

2	任意のサイズ変更ハンドルをクリックし、ドラッグして四角形のサイズを変更します。

3	マウス ボタンを離します。

グループを囲む四角形のドラッグ操作に比例して、各コントロールのサイズが変更されます。


コントロール グループを解除する

1	対象とするグループを選択します。

2	[書式] メニューの [グループ解除] をクリックします。


グループのショートカット メニューを表示する

1	対象とするグループを選択します。

2	グループを囲む四角形内部の任意の位置をマウスの右ボタンでクリックします。

ヒント   ショートカット メニューからコマンドを選択せずにショートカット メニューを消すには、グループ内のショートカット メニュー以外の部分をクリックします。


グループ内のコントロールを 1 つだけ選択する

1	対象とするグループを選択します。

2	グループ内のコントロールを 1 つ選択します。グループの周りのサイズ変更ハンドルの色が薄くなり、選択したコントロールの周りに濃い色のサイズ変更ハンドルが表示されます。

この状態で、選択したコントロールのプロパティの値を変更できます。変更内容は、選択したコントロールにのみ適用されます。

3	選択したコントロールに対して目的の処理を行ったら、グループ内の選択したコントロール以外の部分をクリックします。グループはまだ選択されたままです。

この状態から、グループ内の別のコントロールを選択することも、ほかの作業を行うこともできます。


マルチ ページ (MultiPage) コントロールまたは Page オブジェクトのショートカット メニューを表示する

1	フォームが実行されていないことを確認します。

2	次のいずれかの操作を行います。

•	各 Page オブジェクトのショートカット メニューを表示するには、ページのキャプションをマウスの右ボタンでクリックします。

•	マルチ ページ (MultiPage) コントロール全体のショートカット メニューを表示するには、マルチ ページ (MultiPage) コントロール内の任意の Page オブジェクトのキャプション以外のコントロール部分をマウスの右ボタンでクリックします。


タブ ストリップ (TabStrip) コントロールまたは Tab オブジェクトのショートカット メニューを表示する

1	フォームが実行されていないことを確認します。

2	次のいずれかの操作を行います。

•	各 Tab オブジェクトのショートカット メニューを表示するには、タブを選択します。

タブを選択すると、そのキャプションの周りに点線の四角形が表示されます。

選択されたキャプションをマウスの右ボタンでクリックします。

•	タブ ストリップ (TabStrip) コントロールのショートカット メニューを表示するには、タブ ストリップ (TabStrip) コントロール内の任意の Tab コントロールのキャプション以外のコントロール部分をマウスの右ボタンでクリックします。


アクティブなコントロールと選択されたコントロール

デザイン時にコントロールをクリックすると、コントロールの境界線の近くにサイズ変更ハンドルが表示されます。この状態のコントロールを選択されたコントロールと呼びます。選択されたコントロールを再度クリックすると、コントロールのキャプションが直接変更できるようになります。この状態をアクティブなコントロールと呼びます。

選択された状態とアクティブな状態のいずれでも、削除、切り取り、コピーの各コマンドに対して、ショートカット キーとして Del キー、Ctrl + X キー、および Ctrl + C キーを使用することができます。選択された状態の場合は、これらのコマンドはショートカット メニューでも使用でき、コントロールに対して作用します。アクティブな状態の場合は、これらのコマンドはコントロール内の文字列に対して作用します。


複数のコントロールを選択する

ユーザーは、3 つの方法で、複数のコントロールを選択できます。

•	Shift キーを押しながらクリックする :

•	Microsoft Forms は、選択されたコントロールの周囲に非表示の長方形の選択範囲を作成します。その選択範囲内のすべてのコントロールには、サイズ変更ハンドルが表示されます。

•	Ctrl キーを押しながらクリックする :

•	選択したコントロールのみにサイズ変更ハンドルが表示されます。周囲の長方形内のコントロールには表示されません。この方法では選択したコントロールの近くのコントロールや隣接するコントロールも選択されることがあります。そのような場合には、次に示す [オブジェクトの選択] ポインタを使用してください。

•	ツールボックスの [オブジェクトの選択] ポインタを使う :

•	選択する必要のあるコントロール上で長方形を描きます。長方形内のコントロールと長方形に接するコントロールはすべて選択されます。

複数のコントロールを選択する場合は、選択したコントロールの 1 つが選択した残りのコントロールの参照先となります。これを基準となるコントロールと呼びます。


基準となるコントロールを設定するヒント

複数のコントロールを選択したときに次に示す方法の 1 つで、基準となるコントロールを設定できます。

•	Shift キーを押しながらクリックする :

•	基準となるコントロールは、Shift キーを押しながらクリックして選択した最初のコントロールです。

•	Ctrl キーを押しながらクリックする :

•	基準となるコントロールは、Shift キーを押しながらクリックして選択した最後のコントロールです。

•	ツールボックスの [オブジェクトの選択] ポインタを使う :

•	選択したいコントロール上で四角形の範囲を描いたとき、マウス ポインタに一番近いコントロールが基準となるコントロールになります。

選択したコントロール上で Ctrl キーを押しながら 2 回クリックすると、そのコントロールは基準となるコントロールになります。


Microsoft Forms での [元に戻す] と [やり直し]

Microsoft Forms は、[元に戻す] コマンドと [やり直し] コマンドをサポートしています。1 回の操作だけではなく、一連の操作を元に戻すことができます。

Ctrl キーを押しながら Z キーを押すと、[元に戻す] のショートカット キーになり、Ctrl キーを押しながら Y キーを押すと、[やり直し]. のショートカット キーになります。

[最背面へ移動] や [最前面へ移動] のような階層に対するコマンドは、元に戻したり、やり直すことはできません。たとえば、オブジェクトを選択して、ショートカット メニューから [背面へ移動] をクリックした場合は、その操作を元に戻したり、やり直すことはできません。


Microsoft Forms におけるキーワード ByVal リファレンス

Microsoft Forms におけるキーワード ByVal は、引数が値として渡されることを表します。これは、Visual Basic におけるキーワード ByVal と同じです。Microsoft Forms では、ReturnBoolean、ReturnEffect、ReturnInteger、または ReturnString オブジェクトを指定してキーワード ByVal を使うことができます。この場合、渡される値はオブジェクトへのポインタです。

これらのオブジェクトを指定してキーワード ByVal を使う場合は、キーワード ByVal を指定した引数はオブジェクトを参照します。この 4 つのオブジェクトは、Value プロパティを持っています。このプロパティを使って、値の受け渡しを行うことができます。オブジェクトのメンバの値は変更可能なので、イベント プロシージャの構文でパラメータが ByVal で宣言されていても、イベント プロシージャの結果はキーワード ByRef の動作と一致します

ReturnBoolean、ReturnEffect、ReturnInteger、または ReturnString オブジェクトに関連付けられた引数に値を割り当てることと、他の引数の値を設定することに違いはありません。たとえば、イベント構文で使われる引数 Cancel を ReturnBoolean オブジェクトで指定した場合、Cancel=True のステートメントは有効です。


[名前の変更] ダイアログ ボックス

フォーカスを持っている個々の Page オブジェクトまたは Tab オブジェクトに対しては、Accelerator、Caption、および ControlTipText の各プロパティの値が表示されます。現在のツールボックスのページに対しては、Caption プロパティと ToolTipText プロパティの値が表示されます。これらのプロパティの値は変更できます。

アクセス キーは、Page オブジェクトや Tab オブジェクトにフォーカスを設定するときに、Alt キーと組み合わせて入力するキーボード上のキーです。キャプションは、Page オブジェクトや Tab オブジェクト、または現在のツールボックス ページのタブの部分に表示される文字列です。コントロール ヒントは、コントロールの上でマウス ポインタをクリックせずにしばらく置いたときに表示されるコントロールの簡単な説明です。ツールヒントは、現在のツールボックス ページの上でマウス ポインタをクリックせずにしばらく置いたときに表示されるコントロールの簡単な説明です。

Page オブジェクトまたは Tab オブジェクトに対してアクセス キーを設定するには

•	Accelerator プロパティに ANSI 文字 1 文字を入力します。

Page オブジェクトまたは Tab オブジェクトの名前を変更するには

•	Caption プロパティに新しい値を入力します。

Page オブジェクトまたは Tab オブジェクトに対してコントロール ヒントを定義するには

•	ControlTipText プロパティに新しい値を入力します。

現在のツールボックスのページに対してツールヒントを定義するには

•	ToolTipText プロパティに新しい値を入力します。

メモ   新しい値を Page オブジェクト、Tab オブジェクト、またはツールボックス ページに反映させるには、[OK] をクリックします。


[ページの順序] ダイアログ ボックス/[タブ オーダー] ダイアログ ボックス

Page オブジェクトまたは Tab オブジェクトの位置を変更するには

1	移動したい Page オブジェクトまたは Tab オブジェクトの名前を選択します。

2	選択した項目が目的の位置に来るまで、[上に移動] または [下に移動] をクリックします。

3	すべての項目が目的の順序に並んだら、[OK] をクリックします。


[コントロールの追加] ダイアログ ボックス

1	[利用可能なコントロール] ボックスから、ツールボックスに追加するコントロールをすべて選択します。

2	[OK] をクリックします。

ヒント   [表示] からオプションを選択することにより、[利用可能なコントロール] ボックスの表示内容を制限できます。


[コントロールのカスタマイズ] ダイアログ ボックス

ツールボックス内で現在選択されているコントロールの ControlTipText プロパティの値とアイコンが表示されます。このダイアログ ボックスでは、現在選択されているコントロールに割り当てられたコントロール ヒントの定義や変更と、ツールボックスに表示されるアイコンの変更ができます。

コントロール ヒントを定義または編集するには

•	ControlTipText プロパティに新しい値を入力します。

アイコンを編集するには

1	[ピクチャの編集] をクリックします。

2	イメージ エディタでアイコンを編集します。

別のアイコンをロードするには

1	[ピクチャの読み込み] をクリックします。

2	[ピクチャの読み込み] ダイアログ ボックスで、ピクチャ ファイルを選択します。

3	[OK] をクリックして確定します。


Item メソッドの使用例

次の例は、Item メソッドを使用して、Controls コレクションおよび Pages コレクションの個別のメンバを操作します。Controls コレクションまたはマルチ ページ (MultiPage) コントロールのいずれかをオプション ボタンで選択し、コマンド ボタン (CommandButton) コントロールをクリックすると、対応するコントロールの名前がラベル (Label) コントロールに返されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	ラベル (Label) コントロール (Label1)

•	2 つのオプション ボタン (OptionButton) コントロール (OptionButton1 および OptionButton2)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

Dim MyControl As Object

Dim ControlsIndex As Integer

Private Sub CommandButton1_Click()

    If OptionButton1.Value = True Then

        'UserForm の Controls コレクションを処理します。

        Set MyControl = Controls.Item(ControlsIndex)

        Label1.Caption = MyControl.Name

        'UserForm の次のコントロールのインデックスを設定します。

        ControlsIndex = ControlsIndex + 1

        If ControlsIndex >= Controls.Count Then

            ControlsIndex = 0

        End If

    ElseIf OptionButton2.Value = True Then

        'Pages コレクションの現在のページを処理します。

        Set MyControl = MultiPage1.Pages.Item(MultiPage1.Value)

        Label1.Caption = MyControl.Name

    End If

End Sub

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    'TabsIndex = 0

    OptionButton1.Caption = "Controls ｺﾚｸｼｮﾝの種類"

    OptionButton2.Caption = "Pages ｺﾚｸｼｮﾝの現在のﾍﾟｰｼﾞ"

    OptionButton1.Value = True

    CommandButton1.Caption = "ﾒﾝﾊﾞ名の取得"

End Sub


Object プロパティの使用例

Microsoft Forms 内に標準の Top プロパティとは異なるTop プロパティを持つ新しいコントロールがあるものとします。構文に基づいたいずれのプロパティも使うことができます。

•	control.Top の場合は、標準の Top プロパティを使用します。

•	control.Object.Top の場合は、追加されたコントロールの Top プロパティを使用します。


TabStop プロパティの使用例

次の例は、TabStop プロパティを使用して、ユーザーが Tab キーを押したときに特定のコントロールにフォーカスを移動させるかどうかを制御します。Tab キーを押すと、フォーム上のコントロール間をフォーカスが移動し、それからトグル ボタン (ToggleButton) コントロールをクリックすると、コマンド ボタン (CommandButton1) の TabStop プロパティが変更されます。TabStop プロパティに False が設定されていると、コマンド ボタン (CommandButton1) は Tab キーを使ってもフォーカスを取得しません。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

•	1 つか 2 つのコントロール (オプション ボタン (OptionButton) コントロールまたはリスト ボックス (ListBox) コントロールなど)

Private Sub CommandButton1_Click()

    MsgBox "ｺﾝﾝﾄﾞ ﾎﾞﾀﾝがｸﾘｯｸされました。"

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TabStop = True

        ToggleButton1.Caption = "ﾀﾌﾞ ｽﾄｯﾌﾟ ｵﾝ"

    Else

        CommandButton1.TabStop = False

        ToggleButton1.Caption = "ﾀﾌﾞ ｽﾄｯﾌﾟ ｵﾌ"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "ﾒｰｾｰｼﾞの表示"

    ToggleButton1.Caption = "ﾀﾌﾞ ｽﾄｯﾌﾟ ｵﾝ"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


TakeFocusOnClick プロパティの使用例

次の例は、TakeFocusOnClick プロパティを使用して、ユーザーがコントロールをクリックしたときにコマンド ボタン (CommandButton) コントロールがフォーカスを取得できるかどうかを制御します。コマンド ボタン (CommandButton1) 以外のコントロールをクリックした後にコマンド ボタン (CommandButton1) をクリックします。TakeFocusOnClick プロパティに True が設定されていると、コマンド ボタン (CommandButton1) は クリックされた後にフォーカスを取得します。トグル ボタン (ToggleButton) コントロールをクリックすることで TakeFocusOnClick プロパティの値を変更できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

•	1 つか 2 つのコントロール (オプション ボタン (OptionButton) コントロールまたはリスト ボックス (ListBox) コントロールなど)

Private Sub CommandButton1_Click()

    MsgBox "ｺﾏﾝﾄﾞ ﾎﾞﾀﾝがﾌｫｰｶｽを取得しているか、見比べてください。"

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TakeFocusOnClick = True

        ToggleButton1.Caption = "TakeFocusOnClick ﾌﾟﾛﾊﾟﾃｨがｵﾝのとき"

    Else

        CommandButton1.TakeFocusOnClick = False

        ToggleButton1.Caption = "TakeFocusOnClick ﾌﾟﾛﾊﾟﾃｨがｵﾌのとき"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "ﾒｰｾｰｼﾞの表示"

    ToggleButton1.Caption = "TakeFocusOnClick ﾌﾟﾛﾊﾟﾃｨがｵﾝのとき"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


MatchEntry プロパティの使用例

次の例は、MatchEntry プロパティを使用して、コンボ ボックス (ComboBox) コントロールまたはリスト ボックス (ListBox) コントロールで利用できる文字のマッチングを示します。この例では、オプション ボタン (OptionButton) コントロールでマッチングのタイプを設定し、コンボ ボックスの中から項目を表す文字を入力します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

Private Sub OptionButton1_Click()

    ComboBox1.MatchEntry = fmMatchEntryNone

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.MatchEntry = fmMatchEntryFirstLetter

End Sub

Private Sub OptionButton3_Click()

        ComboBox1.MatchEntry = fmMatchEntryComplete

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 9

        ComboBox1.AddItem "Choice " & i

    Next i

    ComboBox1.AddItem "Chocoholic"

    OptionButton1.Caption = "ﾏｯﾁｨﾝｸﾞしない"

    OptionButton1.Value = True

    OptionButton2.Caption = "基本ﾏｯﾁｨﾝｸﾞ"

    OptionButton3.Caption = "拡張ﾏｯﾁｨﾝｸﾞ"

End Sub


MatchFound プロパティ、MatchRequired プロパティの使用例

次の例は、MatchFound プロパティおよび MatchRequired プロパティを使用して、コンボ ボックス (ComboBox) コントロールで追加した文字のマッチングを示します。マッチングが確定すると、Change イベントが発生します。

次の例は、コンボ ボックス (ComboBox) コントロールのテキスト入力部分がリスト内の項目の 1 つと一致していなければならないかどうかを示します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	チェック ボックス (CheckBox) コントロール (CheckBox1)

Private Sub CheckBox1_Click()

    If CheckBox1.Value = True Then

        ComboBox1.MatchRequired = True

        MsgBox "ﾏｯﾁｨﾝｸﾞを行う場合、ﾌｫｰｶｽをｺﾝﾎﾞ ﾎﾞｯｸｽからほかへ移すには、ﾘｽﾄ内の項目と一致させるか、ESC ｷｰを押さなければなりません。"

    Else

        ComboBox1.MatchRequired = False

        MsgBox "ﾏｯﾁｨﾝｸﾞが任意の場合、ﾌｫｰｶｽをｺﾝﾎﾞ ﾎﾞｯｸｽからほかへ移すには、ﾀﾌﾞ ｷｰを押すか、別のｺﾝﾄﾛｰﾙをｸﾘｯｸします。"

    End If

End Sub

Private Sub ComboBox1_Change()

    If ComboBox1.MatchRequired = True Then

    'Microsoft Forms は、このケースでは自動的に処理します。

    Else

        If ComboBox1.MatchFound = True Then

            MsgBox "一致する項目が見つかりました。ﾏｯﾁｨﾝｸﾞは任意です。"

        Else

            MsgBox "一致する項目が見つかりません。ﾏｯﾁｨﾝｸﾞは任意です。"

        End If

    End If

End Sub

Private Sub UserForm_Initialize()

Dim i As Integer

For i = 1 To 9

    ComboBox1.AddItem "Choice " & i

Next i

ComboBox1.AddItem "Chocoholic"

CheckBox1.Caption = "必ずﾏｯﾁｨﾝｸﾞを行う"

CheckBox1.Value = True

End Sub


MultiSelect プロパティ、Selected プロパティの使用例

次の例は、MultiSelect プロパティおよび Selected プロパティを使用して、リスト ボックス (ListBox) コントロール内から 1 つまたは 複数の項目を選択する方法を示します。オプション ボタン (OptionButton) コントロールの選択によって選択方法を指定し、リスト ボックスから項目を選択します。にマッチングの型を設定し、コマンド ボタン (CommandButton) コントロールをクリックすることで 2 番目のリスト ボックスから選択する項目を表示できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのリスト ボックス (ListBox) コントロール (ListBox1 および ListBox2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

Dim i As Integer

Private Sub CommandButton1_Click()

    ListBox2.Clear

    For i = 0 To 9

        If ListBox1.Selected(i) = True Then

            ListBox2.AddItem ListBox1.List(i)

        End If

    Next i

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub UserForm_Initialize()

    For i = 0 To 9

        ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)

    Next i

    OptionButton1.Caption = "単一選択"

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Value = True

    OptionButton2.Caption = "複数選択"

    OptionButton3.Caption = "拡張選択"

    CommandButton1.Caption = "選択表示"

    CommandButton1.AutoSize = True

End Sub


コンボ ボックス (ComboBox) コントロールでの Style プロパティの使用例

次の例は、Style プロパティを使用して、コンボ ボックス (ComboBox) コントロールのテキスト領域に入力した結果を変更します。オプション ボタン (OptionButton) コントロールで選択スタイルを選び、項目を選択するためにコンボ ボックスにテキストを入力します。Style プロパティに fmStyleDropDownList が設定されているときは、ドロップダウン リストから項目を選択しなければなりません。また、Style プロパティに fmStyleDropDownCombo が設定されているときは、ドロップダウン リストに項目を指定するのにテキスト領域にテキストを入力することもできます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのオプション ボタン (OptionButton) コントロール (OptionButton1 および OptionButton2)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

Private Sub OptionButton1_Click()

    ComboBox1.Style = fmStyleDropDownCombo

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.Style = fmStyleDropDownList

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 10

        ComboBox1.AddItem "Choice " & i

    Next i

    OptionButton1.Caption = "ｺﾝﾎﾞ ﾎﾞｯｸｽのように選択する"

    OptionButton1.Value = True

    ComboBox1.Style = fmStyleDropDownCombo

    OptionButton2.Caption = "ﾘｽﾄ ﾎﾞｯｸｽのように選択する"

End Sub


マルチ ページ (MultiPage) コントロール、タブ ストリップ (TabStrip) コントロールでの Style プロパティの使用例

次の例は、Style プロパティを使用して、マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールのタブの外観を指定します。この例では、ラベル (Label) コントロールも使用して示します。オプション ボタン (OptionButton) コントロールを選択して、スタイルを選びます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	ラベル (Label) コントロール (Label1)

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	タブ ストリップ (TabStrip) コントロール (TabStrip1)

•	タブ ストリップ (TabStrip) コントロール内に任意のコントロール

•	マルチ ページ (MultiPage) コントロールの各ページに任意のコントロール

Private Sub OptionButton1_Click()

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

End Sub

Private Sub OptionButton2_Click()

    'ページの境界線は、見えなくなります。

    MultiPage1.Style = fmTabStyleButtons

    TabStrip1.Style = fmTabStyleButtons

End Sub

Private Sub OptionButton3_Click()

    'ページの境界線は、見えなくなります。

    'また、ページ本体はタブが通常表示される位置にあります。

    MultiPage1.Style = fmTabStyleNone

    TabStrip1.Style = fmTabStyleNone

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "ﾍﾟｰｼﾞ/ﾀﾌﾞ ｽﾀｲﾙ"

    OptionButton1.Caption = "ﾀﾌﾞ型"

    OptionButton1.Value = True

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

    OptionButton2.Caption = "ﾎﾞﾀﾝ型"

    OptionButton3.Caption = "ﾀﾌﾞ/ﾎﾞﾀﾝ 非表示"

End Sub


OldLeft プロパティ、OldTop プロパティ、OldHeight プロパティ、OldWidth プロパティの使用例

次の例は、Layout イベントで OldLeft、OldTop、OldHeight、および OldWidth プロパティを使用して、コントロールの現在の位置と大きさを保持します。コントロールを移動するには Move ComboBox とラベルが付けられたコマンド ボタン (CommandButton) コントロールをクリックし、それからメッセージ ボックスに応答します。移動したコントロールを元の位置に戻すには Reset ComboBox とラベルが付けられたコマンド ボタン (CommandButton) コントロールをクリックしす。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

Dim Initialize As Integer

Dim ComboLeft, ComboTop, ComboWidth, ComboHeight As Integer

Private Sub UserForm_Initialize()

    Initialize = 0

    CommandButton1.Caption = "ｺﾝﾎﾞ ﾎﾞｯｸｽ を移動する"

    CommandButton2.Caption = "ｺﾝﾎﾞ ﾎﾞｯｸｽ を元の位置に戻す"

    '再設定するコンボ ボックスの情報

    ComboLeft = ComboBox1.Left

    ComboTop = ComboBox1.Top

    ComboWidth = ComboBox1.Width

    ComboHeight = ComboBox1.Height

End Sub

Private Sub CommandButton1_Click()

        ComboBox1.Move 0, 0, , , True

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    Dim MsgBoxResult As Integer

    If Initialize = 0 Then   'layout イベントの初期値はメッセージ ボックスの表示が抑止されています。

        Initialize = 1

        Exit Sub

    End If

    MsgBoxResult = MsgBox("Layout ｲﾍﾞﾝﾄ実行中 - 移動を続けますか?", vbYesNo)

    If MsgBoxResult = vbNo Then

        ComboBox1.Move ComboBox1.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

    End If

End Sub

Private Sub CommandButton2_Click()

    ComboBox1.Move ComboLeft, ComboTop, ComboWidth, ComboHeight

    'OldLeft、OldTop、OldWidth、および OldHeight プロパティは、現在位置を認識しません。

    '次のステートメントは、コメントにしておかないと、実行時にエラーが発生します。

    'ComboBox1.Move ComboBox1.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

End Sub


TabFixedHeight プロパティ、TabFixedWidth プロパティの使用例

次の例は、TabFixedHeight プロパティおよび TabFixedWidth プロパティを使用して、マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールの中で使われるタブのサイズを設定します。マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールのタブの高さと幅を調整するには、スピン ボタン (SpinButton) コントロールをクリックします。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	タブ ストリップ (TabStrip) コントロール (TabStrip1)

•	幅コントロール用のラベル (Label) コントロール (Label1)

•	幅コントロール用のスピン ボタン (SpinButton) コントロール (SpinButton1)

•	幅コントロール用のテキスト ボックス (TextBox) コントロール (TextBox1)

•	高さコントロール用のラベル (Label) コントロール (Label2)

•	高さコントロール用のスピン ボタン (SpinButton) コントロール (SpinButton2)

•	高さコントロール用のテキスト ボックス (TextBox) コントロール (TextBox2)

Private Sub UpdateTabWidth()

    TextBox1.Text = SpinButton1.Value

    TabStrip1.TabFixedWidth = SpinButton1.Value

    MultiPage1.TabFixedWidth = SpinButton1.Value

End Sub

Private Sub UpdateTabHeight()

    TextBox2.Text = SpinButton2.Value

    TabStrip1.TabFixedHeight = SpinButton2.Value

    MultiPage1.TabFixedHeight = SpinButton2.Value

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Style = fmTabStyleButtons

    Label1.Caption = "ﾀﾌﾞの幅"

    SpinButton1.Min = 0

    SpinButton1.Max = TabStrip1.Width / TabStrip1.Tabs.Count

    SpinButton1.Value = 0

    TextBox1.Locked = True

    UpdateTabWidth

    Label2.Caption = "ﾀﾌﾞの高さ"

    SpinButton2.Min = 0

    SpinButton2.Max = TabStrip1.Height

    SpinButton2.Value = 0

    TextBox2.Locked = True

    UpdateTabHeight

End Sub

Private Sub SpinButton1_SpinDown()

    UpdateTabWidth

End Sub

Private Sub SpinButton1_SpinUp()

    UpdateTabWidth

End Sub

Private Sub SpinButton2_SpinDown()

    UpdateTabHeight

End Sub

Private Sub SpinButton2_SpinUp()

    UpdateTabHeight

End Sub


TabIndex プロパティの使用例

次の例は、TabIndex プロパティを使用して、個々のコントロールにタブ オーダーの表示と設定をします。Tab キーを押すと、タブ オーダーの次のコントロールに移り、そのコントロールの TabIndex プロパティを表示します。コントロールをクリックしても TabIndex プロパティが表示されます。テキスト ボックス (TextBox) コントロールに新しいインデックス値を指定して、コマンド ボタン (CommandButton3) をクリックすると、コントロールの TabIndex プロパティが変更されます。1 つのコントロールの TabIndex プロパティを変更すると、フレーム (Frame) コントロール内の他のコントロールの TabIndex プロパティが更新されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	ラベル (Label) コントロール (Label1)

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	フレーム (Frame) コントロール (Frame1)

•	フレーム (Frame) コントロール内に配置したテキスト ボックス (TextBox) コントロール (TextBox2)

•	フレーム (Frame) コントロール内に配置した 2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

•	フレーム (Frame) コントロール内に配置したスクロール バー (ScrollBar) コントロール (ScrollBar1)

•	フレーム (Frame) コントロール外に配置したコマンド ボタン (CommandButton) コントロール (CommandButton3)

Private Sub MoveToFront()

    Dim i, Temp As Integer

    Temp = Frame1.ActiveControl.TabIndex

    For i = 0 To Temp - 1

        Frame1.Controls.Item(i).TabIndex = i + 1

    Next i

    Frame1.ActiveControl.TabIndex = 0

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton3_Click()

    Dim i, Temp As Integer

    If IsNumeric(TextBox1.Text) Then

        Temp = Val(TextBox1.Text)

        If Temp >= Frame1.Controls.Count Or Temp < 0 Then

            '指定範囲外の数値が入力された場合、コントロールのタブ オーダーを先頭に移動します。

            MoveToFront

        ElseIf Temp > Frame1.ActiveControl.TabIndex Then

            'コントロールのタブ オーダーを下層に移動します。

            For i = Frame1.ActiveControl.TabIndex + 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i - 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        Else

            'コントロールのタブ オーダーを上層に移動します。

            For i = Frame1.ActiveControl.TabIndex - 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i + 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        End If

    Else

           'テキストが入力された場合、コントロールのタブ オーダーを先頭に移動します。

        MoveToFront

    End If

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "ﾀﾌﾞ ｲﾝﾃﾞｯｸｽ"

    Frame1.Controls(0).SetFocus

    TextBox1.Text = Frame1.ActiveControl.TabIndex

    Frame1.Cycle = fmCycleCurrentForm

    CommandButton3.Caption = "ﾀﾌﾞ ｲﾝﾃﾞｯｸｽの設定"

    CommandButton3.TakeFocusOnClick = False

End Sub

Private Sub TextBox2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub ScrollBar1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub


Layout イベント、LayoutEffect プロパティの使用例

次の例は、Move メソッドを使ってフォーム上の選択されたコントロールを移動させます。移動または UserForm のレイアウトを変更するコントロールの指定には、Layout イベントおよび LayoutEffect プロパティを使います。移動するには、コントロールを選択してからコマンド ボタン (CommandButton) コントロールをクリックします。移動中のコントロール名を表示するメッセージ ボックスが表示されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	オプション ボタン (OptionButton) コントロール (OptionButton1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "現在選択しているｺﾝﾄﾛｰﾙを移動する"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    ToggleButton1.Caption = "Layout ｲﾍﾞﾝﾄを使用する"

    ToggleButton1.Value = True

End Sub

Private Sub CommandButton1_Click()

    If ActiveControl.Name = "ToggleButton1" Then

        '固定したまま維持します。

    Else

        'ToggleButton1 の Value プロパティの値が True のとき、Layout イベントを使用して現在のコントロールを移動する。

        ActiveControl.Move 0, 0, , , ToggleButton1.Value

    End If

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    MsgBox "Layout ｲﾍﾞﾝﾄを実行中"

    '移動中のコントロールを見つけます。

    For Each MyControl In Controls

        If MyControl.LayoutEffect = fmLayoutEffectInitiate Then

            MsgBox MyControl.Name & " を移動します。"

            Exit For

        End If

    Next

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Layout ｲﾍﾞﾝﾄを使用する"

    Else

        ToggleButton1.Caption = "Layout ｲﾍﾞﾝﾄを使用しない"

    End If

End Sub


Tag プロパティの使用例

次の例は、Tag プロパティを使用して、UserForm 上の各コントロールに関する補足的な情報を表示します。1 つのコントロールをクリックしてからコマンド ボタン (CommandButton) コントロールをクリックします。選択したコントロールの Tag プロパティの内容が、テキスト ボックス (TextBox) コントロールに書き込まれます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

Private Sub CommandButton1_Click()

    TextBox1.Text = ActiveControl.Tag

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Locked = True

    TextBox1.Tag = "ここは Tag ﾌﾟﾛﾊﾟﾃｨの表示領域です。"

    TextBox1.AutoSize = True

    CommandButton1.Caption = "現在選択しているｺﾝﾄﾛｰﾙの Tag ﾌﾟﾛﾊﾟﾃｨを表示する"

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.Tag = "ﾌｫｰｶｽを持つｺﾝﾄﾛｰﾙの Tag ﾌﾟﾛﾊﾟﾃｨを表示する。"

    ComboBox1.Style = fmStyleDropDownList

    ComboBox1.Tag = "ｺﾝﾎﾞ ﾎﾞｯｸｽのｽﾀｲﾙは、ﾘｽﾄ ﾎﾞｯｸｽ型です。"

    ScrollBar1.Max = 100

    ScrollBar1.Min = -273

    ScrollBar1.Tag = "最大値 = " & ScrollBar1.Max & " , 最小値 = " & ScrollBar1.Min

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Tag = "このﾏﾙﾁ ﾍﾟｰｼﾞ ｺﾝﾄﾛｰﾙは、 " & MultiPage1.Pages.Count & " ﾍﾟｰｼﾞあります。"

End Sub


TopIndex プロパティの使用例

次の例は、リスト ボックス (ListBox) コントロール内に表示されている先頭の項目およびリスト ボックス (ListBox) コントロール内でフォーカスを持っている項目を表します。この例では、TopIndex プロパティを使ってリスト ボックスの先頭に表示する項目を表し、ListIndex プロパティを使ってフォーカスを持っている項目を表します。リスト ボックスの中から項目を選択します。項目を選択したとき、またはコマンド ボタン (CommandButton) コントロールをクリックしたときに TopIndex プロパティおよび ListIndex プロパティの表示値が更新されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのラベル (Label) コントロール (Label1 および Label2)

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	リスト ボックス (ListBox) コントロール (ListBox1)

Private Sub CommandButton1_Click()

    ListBox1.TopIndex = ListBox1.ListIndex

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub ListBox1_Change()

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 0 To 24

        ListBox1.AddItem "Choice " & (i + 1)

    Next i

    ListBox1.Height = 66

    CommandButton1.Caption = "一覧の先頭に移動する"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    Label1.Caption = "一覧の先頭項目のｲﾝﾃﾞｯｸｽ値"

    TextBox1.Text = ListBox1.TopIndex

    Label2. Caption = "現在選択している項目のｲﾝﾃﾞｯｸｽ値"

    Label2.AutoSize = True

    Label2.WordWrap = False

    TextBox2.Text = ListBox1.ListIndex

End Sub


TripleState プロパティの使用例

次の例は、TripleState プロパティを使用して、チェック ボックス (CheckBox) コントロールおよびトグル ボタン (ToggleButton) コントロールの適切な値として Null 値を許可します。トグル ボタン (ToggleButton2) を通じて TripleState プロパティの値を制御します。TripleState プロパティの値を基にチェック ボックス (CheckBox) コントロールおよびトグル ボタン (ToggleButton) コントロールの値を設定できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	チェック ボックス (CheckBox) コントロール (CheckBox1)

•	2 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 および ToggleButton2)

Private Sub UserForm_Initialize()

    CheckBox1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは True です"

    CheckBox1.Value = True

    CheckBox1.TripleState = False

    ToggleButton1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは True です"

    ToggleButton1.Value = True

    ToggleButton1.TripleState = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "TripleState ﾌﾟﾛﾊﾟﾃｨをｵﾌにする"

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "TripleState ﾌﾟﾛﾊﾟﾃｨをｵﾝにする"

        CheckBox1.TripleState = True

        ToggleButton1.TripleState = True

    Else

        ToggleButton2.Caption = "TripleState ﾌﾟﾛﾊﾟﾃｨをｵﾌにする"

        CheckBox1.TripleState = False

        ToggleButton1.TripleState = False

    End If

End Sub

Private Sub CheckBox1_Change()

    If IsNull(CheckBox1.Value) Then

        CheckBox1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは Null 値です"

    ElseIf CheckBox1.Value = False Then

        CheckBox1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは False です"

    ElseIf CheckBox1.Value = True Then

        CheckBox1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは True です"

    End If

End Sub

Private Sub ToggleButton1_Change()

    If IsNull(ToggleButton1.Value) Then

        ToggleButton1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは Null 値です"

    ElseIf ToggleButton1.Value = False Then

        ToggleButton1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは False です"

    ElseIf ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Value ﾌﾟﾛﾊﾟﾃｨは True です"

    End If

End Sub


Value プロパティの使用例

次の例は、選択したコントロールの Value プロパティが表示しているコントロールの異なるタイプの値を示します。タブ キーを押したり、コントロールをクリックしてコントロールを選択します。コントロールのタイプ次第で、コントロールのテキスト領域に入力することができます。また、コントロールをクリックしたり、コントロール内の項目、ページまたはタブを選択することで、コントロールに値を指定することもできます。適切にラベルが付けられたコマンド ボタン (CommandButton) コントロールをクリックして選択したコントロールの値を表示できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	チェック ボックス (CheckBox) コントロール (CheckBox1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Dim i As Integer

Private Sub CommandButton1_Click()

    TextBox1.Text = "" & ActiveControl.Name & " の値は「 " & ActiveControl.Value & "」です。"

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "現在選択しているｺﾝﾄﾛｰﾙの値を取得します。"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.TabStop = False

    Listbox1.IntegralHeight = False

    TextBox1.AutoSize = True

    For i = 0 To 10

        ComboBox1.AddItem "Choice " & (i + 1)

        ListBox1.AddItem "Selection " & (100 - i)

    Next i

    CheckBox1.TripleState = True

    ToggleButton1.TripleState = True

    TextBox2.Text = "ここにﾃｷｽﾄを入力してください。"

End Sub


KeyPress イベントの使用例

次の例は、KeyPress イベントを使用して、1 つのテキスト ボックス (TextBox) コントロールから 2 番目のテキスト ボックス (TextBox) コントロールへキーストロークが転送されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    TextBox2.Text = TextBox2.Text & Chr(KeyAscii)

    'Shift キー、Ctrl キー、Alt キーと他のキーを組み合わせて使うときの

    'キーの組み合わせ、Tab キー、Enter キーを処理します。

    'KeyDown イベントまたは KeyUp イベントを使用します。

End Sub

Private Sub UserForm_Initialize()

    Move 0, 0, 570, 380

    TextBox1.Move 30, 40, 220, 160

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "ここにﾃｷｽﾄを入力します。"

    TextBox1.EnterKeyBehavior = True

    TextBox2.Move 298, 40, 220, 160

    TextBox2.MultiLine = True

    TextBox2.WordWrap = True

    TextBox2.Text = "入力したﾃｷｽﾄをここにｺﾋﾟｰします。"

    TextBox2.Locked = True

 End Sub


Zoom イベントの使用例

次の例は、Zoom イベントを使用して、Zoom プロパティの新しい値を評価して、適切な値の場合、スクロール バーを追加します。この例では、現在の値を表示するのにラベル (Label) コントロールを使います。ユーザーは、スピン ボタン (SpinButton) コントロールを使ってフォームのサイズを指定し、それからコマンド ボタン (CommandButton) コントロールをクリックして、Zoom プロパティに値を設定します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	ラベル (Label) コントロール (Label1)

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	フォームの端にほかのコントロールを配置する。

Private Sub CommandButton1_Click()

    Zoom = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinDown()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinUp()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 10

    SpinButton1.Max = 400

    SpinButton1.Value = 100

    Label1.Caption = SpinButton1.Value

    CommandButton1.Caption = "拡大/縮小します"

End Sub

Private Sub UserForm_Zoom(Percent As Integer)

    Dim MyResult As Double

    If Percent > 99 Then

        ScrollBars = fmScrollBarsBoth

        ScrollLeft = 0

        ScrollTop = 0

        MyResult = Width * Percent / 100

        ScrollWidth = MyResult

        MyResult = Height * Percent / 100

        ScrollHeight = MyResult

    Else

        ScrollBars = fmScrollBarsNone

        ScrollLeft = 0

        ScrollTop = 0

    End If

End Sub


Max プロパティ、Min プロパティ、MaxLength プロパティの使用例

次の例は、他のコントロールから独立したスクロール バー (ScrollBar) コントロールが使われているときの Max プロパティと Min プロパティを示します。Max プロパティと Min プロパティの値には、-1000 から 1000 の範囲の任意の整数を設定できます。この例では、Max プロパティと Min プロパティの値に入力する文字数を制限するのに MaxLength プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	3 つのラベル (Label) コントロール (Label1 ～ Label3)

•	3 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox3)

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)

Dim TempNum As Integer

Private Sub UserForm_Initialize()

    Label1.Caption = "Min ﾌﾟﾛﾊﾟﾃｨ  -1000 to 1000"

    ScrollBar1.Min = -1000

    TextBox1.Text = ScrollBar1.Min

    TextBox1.MaxLength = 5

    Label2.Caption = "Max ﾌﾟﾛﾊﾟﾃｨ  -1000 to 1000"

    ScrollBar1.Max = 1000

    TextBox2.Text = ScrollBar1.Max

    TextBox2.MaxLength = 5

    ScrollBar1.SmallChange = 1

    ScrollBar1.LargeChange = 100

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Min = TempNum

        Else

            TextBox1.Text = ScrollBar1.Min

        End If

    Else

        TextBox1.Text = ScrollBar1.Min

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Max = TempNum

        Else

            TextBox2.Text = ScrollBar1.Max

        End If

    Else

        TextBox2.Text = ScrollBar1.Max

    End If

End Sub

Private Sub ScrollBar1_Change()

Label3.Caption = ScrollBar1.Value

End Sub


LargeChange プロパティ、SmallChange プロパティの使用例

次の例は、他のコントロールから独立したスクロール バー (ScrollBar) コントロールが使われているときの LargeChange プロパティおよび SmallChange プロパティを示します。LargeChange プロパティと SmallChange プロパティの値には、0 から 100 の範囲の任意の整数を設定できます。この例では、LargeChange プロパティと SmallChange プロパティの値に入力する文字数を制限するのに MaxLength プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	3 つのラベル (Label) コントロール (Label1 ～ Label3)

•	3 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox3)

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)

Dim TempNum As Integer

Private Sub ScrollBar1_Change()

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.SmallChange = TempNum

        Else

            TextBox1.Text = ScrollBar1.SmallChange

        End If

    Else

        TextBox1.Text = ScrollBar1.SmallChange

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.LargeChange = TempNum

        Else

            TextBox2.Text = ScrollBar1.LargeChange

        End If

    Else

        TextBox2.Text = ScrollBar1.LargeChange

    End If

End Sub

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -1000

    ScrollBar1.Max = 1000

    Label1.Caption = "SmallChange ﾌﾟﾛﾊﾟﾃｨ  0 ～ 100"

    ScrollBar1.SmallChange = 1

    TextBox1.Text = ScrollBar1.SmallChange

    TextBox1.MaxLength = 3

    Label2.Caption = "LargeChange ﾌﾟﾛﾊﾟﾃｨ  0 ～ 100"

    ScrollBar1.LargeChange = 100

    TextBox2.Text = ScrollBar1.LargeChange

    TextBox2.MaxLength = 3

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub


ScrollBars プロパティ、KeepScrollBarsVisible プロパティの使用例

次の例は、スクロール バー (ScrollBar) コントロールと KeepScrollBarsVisible プロパティを使用して、マルチ ページ (MultiPage) コントロールのページとフレーム (Frame) コントロールにスクロール バーを追加します。KeepScrollBarsVisible プロパティに値を設定するオプション ボタン (OptionButton) コントロールを順番に選択します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	フレーム (Frame) コントロール (Frame1)

•	4 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton4)

Private Sub UserForm_Initialize()

    MultiPage1.Pages(0).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.ScrollBars = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

    OptionButton1.Caption = "ｽｸﾛｰﾙ ﾊﾞｰ 非表示"

    OptionButton1.Value = True

    OptionButton2.Caption = "水平ｽｸﾛｰﾙ ﾊﾞｰ 表示"

    OptionButton3.Caption = "垂直ｽｸﾛｰﾙ ﾊﾞｰ 表示"

    OptionButton4.Caption = "水平ｽｸﾛｰﾙ ﾊﾞｰ/垂直ｽｸﾛｰﾙ ﾊﾞｰ 表示"

End Sub

Private Sub OptionButton1_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

End Sub

Private Sub OptionButton2_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsHorizontal

    Frame1.KeepScrollBarsVisible = fmScrollBarsHorizontal

End Sub

Private Sub OptionButton3_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsVertical

    Frame1.KeepScrollBarsVisible = fmScrollBarsVertical

End Sub

Private Sub OptionButton4_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsBoth

End Sub


ScrollHeight プロパティ、ScrollLeft プロパティ、ScrollTop プロパティ、ScrollWidth プロパティの使用例

次の例は、スクロールさせる領域としてマルチ ページ (MultiPage) コントロールのページを使用します。マルチ ページ (MultiPage) コントロールの 2 ページ目にあるスクロール バーを使用して、最初に表示されていないページ部分を見ることができます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	マルチ ページ (MultiPage) コントロールの各ページに 1 つまたは複数のコントロールを配置する。

メモ   マルチ ページ (MultiPage) コントロールの各ページは互いに重複しないようにします。Page1 にはスクロール バーを表示しません。Page2 には水平スクロール バーと垂直スクロール バーを表示します。

Private Sub UserForm_Initialize()

    MultiPage1.Pages(1).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(1).KeepScrollBarsVisible = fmScrollBarsNone

    MultiPage1.Pages(1).ScrollHeight = 2 * MultiPage1.Height

    MultiPage1.Pages(1).ScrollWidth = 2 * MultiPage1.Width

    'ScrollLeft プロパティ と ScrollTop プロパティを設定する前に ScrollHeight プロパティと ScrollWidth プロパティを指定します。

    MultiPage1.Pages(1).ScrollLeft = MultiPage1.Width / 2

    MultiPage1.Pages(1).ScrollTop = MultiPage1.Height / 2

End Sub


InsideHeight プロパティ、InsideWidth プロパティの使用例

次の例は、InsideHeight プロパティおよび InsideWidth プロパティを使用して、コマンド ボタン (CommandButton) コントロールのサイズを変更します。コマンド ボタン (CommandButton) コントロールをクリックすると、サイズが変更されます。

メモ   InsideHeight プロパティおよび InsideWidth プロパティは値の取得のみ可能です。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Dim Resize As Single

Private Sub UserForm_Initialize()

    Resize = 0.75

    CommandButton1.Caption = "ｺﾏﾝﾄﾞ ﾎﾞﾀﾝのｻｲｽﾞを変更します"

End Sub

Private Sub CommandButton1_Click()

    CommandButton1.Move 10, 10, UserForm1.InsideWidth * Resize, UserForm1.InsideHeight * Resize

    CommandButton1.Caption = "InsideHeight ﾌﾟﾛﾊﾟﾃｨと InsideWidth ﾌﾟﾛﾊﾟﾃｨを使って、ｺﾏﾝﾄﾞ ﾎﾞﾀﾝのｻｲｽﾞを変更しました!"

End Sub


ListRows プロパティの使用例

次の例は、スピン ボタン (SpinButton) コントロールを使用して、コンボ ボックス (ComboBox) コントロールのドロップダウンしたリストの行数を制御します。スピン ボタン (SpinButton) コントロールの値を変更した後で、一覧を表示するためにコンボ ボックス (ComboBox) コントロールのドロップダウン矢印をクリックします。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	ラベル (Label) コントロール (Label1)

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 12

    SpinButton1.Value = ComboBox1.ListRows

    Label1.Caption = "ListRows ﾌﾟﾛﾊﾟﾃｨ = " & SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    ComboBox1.ListRows = SpinButton1.Value

    Label1.Caption = "ListRows ﾌﾟﾛﾊﾟﾃｨ = " & SpinButton1.Value

End Sub


ListWidth プロパティの使用例

次の例は、スピン ボタン (SpinButton) コントロールを使用して、コンボ ボックス (ComboBox) コントロールのドロップダウンしたリストの幅を制御します。スピン ボタン (SpinButton) コントロールの値を変更した後で、一覧を表示するためにコンボ ボックス (ComboBox) コントロールのドロップダウン矢印をクリックします。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	ラベル (Label) コントロール (Label1)

Private Sub SpinButton1_Change()

    ComboBox1.ListWidth = SpinButton1.Value

    Label1.Caption = "ListWidth ﾌﾟﾛﾊﾟﾃｨ = " & SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 130

    SpinButton1.Value = Val(ComboBox1.ListWidth)

    SpinButton1.SmallChange = 5

    Label1.Caption = "ListWidth ﾌﾟﾛﾊﾟﾃｨ = " & SpinButton1.Value

End Sub


ListStyle プロパティ、MultiSelect プロパティの使用例

次の例は、ListStyle プロパティおよび MultiSelect プロパティを使用して、リスト ボックス (ListBox) コントロールの外観を制御します。トグル ボタン (ToggleButton) コントロールを使って、ListStyle プロパティの値を選択します。さらに MultiSelect プロパティの値をオプション ボタン (OptionButton) コントロールで選択します。リスト ボックス (ListBox) コントロールの外観は、リスト ボックス 内の選択状況に応じて変更されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	ラベル (Label) コントロール (Label1)

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 8

        ListBox1.AddItem "Choice" & (ListBox1.ListCount + 1)

    Next i

    Label1.Caption = "MultiSelect ﾌﾟﾛﾊﾟﾃｨ の設定値"

    Label1.AutoSize = True

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Caption = "単一選択 - Single"

    OptionButton1.Value = True

    OptionButton2.Caption = "複数選択 - Multiple"

    OptionButton3.Caption = "拡張選択 - Extended"

    ToggleButton1.Caption = "ListStyle ﾌﾟﾛﾊﾟﾃｨ の設定値 - Plain"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

    ToggleButton1.Height = 30

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "ListStyle ﾌﾟﾛﾊﾟﾃｨ の設定値 - Plain"

        ListBox1.ListStyle = fmListStylePlain

    Else

        ToggleButton1.Caption = "ListStyle ﾌﾟﾛﾊﾟﾃｨ の設定値 - Option (ｵﾌﾟｼｮﾝ ﾎﾞﾀﾝか、ﾁｪｯｸ ﾎﾞｯｸｽで選択する)"

        ListBox1.ListStyle = fmListStyleOption

    End If

End Sub


MouseIcon プロパティ、MousePointer プロパティの使用例

次の例は、特定のコントロールや状態に合わせて、マウス ポインタを設定する方法を示します。MousePointer プロパティを使って利用可能なマウス ポインタの中から 1 つを割り当てます。または MousePointer プロパティと MouseIcon プロパティを使って、ユーザー定義のアイコンを割り当てます。

この例は、次に示す方法で動作します。

•	1 つ目のコマンド ボタン (CommandButton) コントロールに関連付けられたマウス ポインタを変更するには、リスト ボックス (ListBox) コントロールからマウス ポインタを選びます。

•	そのマウス ポインタを 2 つ目のコマンド ボタン (CommandButton) コントロールに関連付けるには、1 つ目のコマンド ボタン (CommandButton) コントロールをクリックします。

•	ユーザー定義のアイコンをマウス ポインタとして読み込むには、2 つ目のコマンド ボタン (CommandButton) コントロールをクリックします。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

•	リスト ボックス (ListBox) コントロール (ListBox1)

メモ   この例は、LoadPicture 関数を使って読み込んだ 2 つのアイコン ファイル (拡張子 "*.ICO) を使います。ユーザーは、システムに格納されているアイコン ファイルを呼び出せるように各 LoadPicture 関数を編集してください。

Private Sub ListBox1_Click()

    If IsNull(ListBox1.Value) = False Then

        CommandButton1.MousePointer = ListBox1.Value

        If CommandButton1.MousePointer = fmMousePointerCustom Then

            CommandButton1.MouseIcon = LoadPicture("c:\Windows\Forms\Configs\Mapif1l.ico")

        End If

    End If

End Sub

Private Sub CommandButton1_Click()

    CommandButton2.MousePointer = CommandButton1.MousePointer

    If CommandButton2.MousePointer = fmMousePointerCustom Then

        CommandButton2.MouseIcon = CommandButton1.MouseIcon

    End If

End Sub

Private Sub CommandButton2_Click()

    CommandButton2.MousePointer = fmMousePointerCustom

    CommandButton2.MouseIcon = LoadPicture("c:\Windows\Forms\Configs\Mapif5l.ico")

End Sub

Private Sub UserForm_Initialize()

    '選択できるマウス ポインタをリスト ボックスコントロールに読み込みます。

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "fmMousePointerDefault"

    ListBox1.List(0, 1) = fmMousePointerDefault

    ListBox1.AddItem "fmMousePointerArrow"

    ListBox1.List(1, 1) = fmMousePointerArrow

    ListBox1.AddItem "fmMousePointerCross"

    ListBox1.List(2, 1) = fmMousePointerCross

    ListBox1.AddItem "fmMousePointerIBeam"

    ListBox1.List(3, 1) = fmMousePointerIBeam

    ListBox1.AddItem "fmMousePointerSizeNESW"

    ListBox1.List(4, 1) = fmMousePointerSizeNESW

    ListBox1.AddItem "fmMousePointerSizeNS"

    ListBox1.List(5, 1) = fmMousePointerSizeNS

    ListBox1.AddItem "fmMousePointerSizeNWSE"

    ListBox1.List(6, 1) = fmMousePointerSizeNWSE

    ListBox1.AddItem "fmMousePointerSizeWE"

    ListBox1.List(7, 1) = fmMousePointerSizeWE

    ListBox1.AddItem "fmMousePointerUpArrow"

    ListBox1.List(8, 1) = fmMousePointerUpArrow

    ListBox1.AddItem "fmMousePointerHourglass"

    ListBox1.List(9, 1) = fmMousePointerHourGlass

    ListBox1.AddItem "fmMousePointerNoDrop"

    ListBox1.List(10, 1) = fmMousePointerNoDrop

    ListBox1.AddItem "fmMousePointerAppStarting"

    ListBox1.List(11, 1) = fmMousePointerAppStarting

    ListBox1.AddItem "fmMousePointerHelp"

    ListBox1.List(12, 1) = fmMousePointerHelp

    ListBox1.AddItem "fmMousePointerSizeAll"

    ListBox1.List(13, 1) = fmMousePointerSizeAll

    ListBox1.AddItem "fmMousePointerCustom"

    ListBox1.List(14, 1) = fmMousePointerCustom

    ListBox1.BoundColumn = 2

    ListBox1.Value = fmMousePointerDefault

    MsgBox "ﾏｳｽ ﾎﾟｲﾝﾀの設定値は =" & ListBox1.Value & " です。"

    CommandButton1.MousePointer = ListBox1.Value

End Sub


EnterKeyBehavior プロパティの使用例

次の例は、EnterKeyBehavior プロパティを使用して、テキスト ボックス (TextBox) コントロール内で Enter キーを押された場合の動作を制御します。また、この例では、単一行または複数行のテキスト ボックス (TextBox) コントロールのいずれかを指定できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	2 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 および ToggleButton2)

Private Sub UserForm_Initialize()

    TextBox1.EnterKeyBehavior = True

    ToggleButton1.Caption = "EnterKeyBehavior ﾌﾟﾛﾊﾟﾃｨは True です"

    ToggleButton1.Width = 70

    ToggleButton1.Value = True

    TextBox1.MultiLine = True

    ToggleButton2.Caption = "MultiLine ﾌﾟﾛﾊﾟﾃｨは True です"

    ToggleButton2.Width = 70

    ToggleButton2.Value = True

    TextBox1.Height = 100

    TextBox1.WordWrap = True

    TextBox1.Text = "このﾎﾞｯｸｽにﾃｷｽﾄを入力してください。EnterKeyBehavior ﾌﾟﾛﾊﾟﾃｨが True の場合、改行するには Enter ｷｰを押します。False の場合は、Shift + Enter ｷｰを押します。"

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        TextBox1.EnterKeyBehavior = True

        ToggleButton1.Caption = "EnterKeyBehavior ﾌﾟﾛﾊﾟﾃｨは True です"

    Else

        TextBox1.EnterKeyBehavior = False

        ToggleButton1.Caption = "EnterKeyBehavior ﾌﾟﾛﾊﾟﾃｨは False です"

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        TextBox1.MultiLine = True

        ToggleButton2.Caption = "MultiLine ﾌﾟﾛﾊﾟﾃｨは True です(複数行のﾃｷｽﾄ ﾎﾞｯｸｽ)"

    Else

        TextBox1.MultiLine = False

        ToggleButton2.Caption = "MultiLine ﾌﾟﾛﾊﾟﾃｨは False です(単一行のﾃｷｽﾄ ﾎﾞｯｸｽ)"

    End If

End Sub


Index プロパティの使用例

次の例は、Index プロパティを使用して、マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールのページおよびタブを変更します。コマンド ボタン (CommandButton1) をクリックすると、3 番目のページおよびタブがマルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールの先頭に移動します。コマンド ボタン (CommandButton2) をクリックすると、選択したページおよびタブがマルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールの最後に移動します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	タブ ストリップ (TabStrip) コントロール (TabStrip1)

Dim MyPageOrTab As Object

Private Sub CommandButton1_Click()

'3 番目のページまたはタブをコントロールの先頭に移動します。

    MultiPage1.page3.Index = 0

    TabStrip1.Tab3.Index = 0

End Sub

Private Sub CommandButton2_Click()

'選択したページおよびタブをコントロールの最後に移動します。

    Set MyPageOrObject = MultiPage1.SelectedItem

    MsgBox "MultiPage1.SelectedItem = " & MultiPage1.SelectedItem.Name

    MyPageOrObject.Index = 4

    Set MyPageOrObject = TabStrip1.SelectedItem

    MsgBox "TabStrip1.SelectedItem = " & TabStrip1.SelectedItem.Caption

    MyPageOrObject.Index = 4

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Width = 200

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    TabStrip1.Width = 200

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    CommandButton1.Caption = "3 番目のﾍﾟｰｼﾞとﾀﾌﾞを先頭に移動"

    CommandButton1.Width = 120

    CommandButton2.Caption = "選択中のｱｲﾃﾑを最後に移動"

    CommandButton2.Width = 120

 End Sub


Enabled プロパティ、Locked プロパティの使用例

次の例は、Enabled プロパティおよび Locked プロパティの動作と、これらのプロパティが互いの動作を補足するのかどうかを示します。この例では、それぞれのプロパティをチェック ボックス (CheckBox) コントロールで個別に表示するので、設定を個別に、または組み合わせて確認することができます。この例には 2 つ目のテキスト ボックス (TextBox) コントロールも含まれているので、テキスト ボックス (TextBox) コントロールの間で情報の切り取りおよび貼り付けができます。また、これらのプロパティの設定値が動作させていることが確認できます。

メモ   選択部分をクリップボードにコピーするには、Ctrl + C キーを押します。選択部分をクリップボードに貼り付けるには、Ctrl + V キーを押します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	2 つのチェック ボックス (CheckBox) コントロール (CheckBox1 および CheckBox2)

Private Sub CheckBox1_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Enabled = CheckBox1.Value

End Sub

Private Sub CheckBox2_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Locked = CheckBox2.Value

End Sub

ｗPrivate Sub UserForm_Initialize()

    TextBox1.Text = "TextBox1"

    TextBox1.Enabled = True

    TextBox1.Locked = False

    CheckBox1.Caption = "Enabled ﾌﾟﾛﾊﾟﾃｨ"

    CheckBox1.Value = True

    CheckBox2.Caption = "Locked ﾌﾟﾛﾊﾟﾃｨ"

    CheckBox2.Value = False

    TextBox2.Text = "TextBox2"

End Sub


Delay プロパティの使用例

次の例は、Change イベント、SpinUp イベント、および SpinDown イベントが連続的に発生する間隔を示します。これらのイベントは、スピン ボタン (SpinButton) コントロールまたはスクロール バー (ScrollBar) コントロールの値を変更するためにマウス ボタンを押し続けると発生します。

この例では、オプション ボタンイベントの間隔設定を選択し、スピン ボタン (SpinButton) コントロールのいずれかのボタンをクリックして押し続けます。発生した SpinUp イベントおよび SpinDown イベントは、リスト ボックス (ListBox) コントロールに記録されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	2 つのオプション ボタン (OptionButton) コントロール (OptionButton1 および OptionButton2)

•	リスト ボックス (ListBox) コントロール (ListBox1)

Dim EventCount As Long

Private Sub ResetControl()

    ListBox1.Clear

    EventCount = 0

    SpinButton1.Value = 5000

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 0

    SpinButton1.Max = 10000

    ResetControl

    SpinButton1.Delay = 50

    OptionButton1.Caption = "50 ﾐﾘ秒間隔"

    OptionButton2.Caption = "250 ﾐﾘ秒間隔"

    OptionButton1.Value = True

End Sub

Private Sub OptionButton1_Click()

    SpinButton1.Delay = 50

    ResetControl

End Sub

Private Sub OptionButton2_Click()

    SpinButton1.Delay = 250

    ResetControl

End Sub

Private Sub SpinButton1_SpinDown()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub

Private Sub SpinButton1_SpinUp()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub


DropButtonStyle プロパティ、ShowDropButtonWhen プロパティの使用例

次の例は、コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールのドロップダウン矢印として異なる記号を指定します。この例では、コンボ ボックス (ComboBox) コントロールからドロップダウン矢印の形式を選択します。この例では、Locked プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	ラベル (Label) コントロール (Label1)

•	テキスト ボックス (TextBox) コントロール (TextBox1) Label1 の下に配置します。

Private Sub ComboBox1_Click()

    ComboBox1.DropButtonStyle = ComboBox1.Value

    TextBox1.DropButtonStyle = ComboBox1.Value

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.ColumnCount = 2

    ComboBox1.BoundColumn = 2

    ComboBox1.TextColumn = 1

    ComboBox1.AddItem "空白ﾎﾞﾀﾝ"

    ComboBox1.List(0, 1) = 0

    ComboBox1.AddItem "ドロップダウン矢印"

    ComboBox1.List(1, 1) = 1

    ComboBox1.AddItem "省略記号"

    ComboBox1.List(2, 1) = 2

    ComboBox1.AddItem "ｱﾝﾀﾞｰｽｺｱ"

    ComboBox1.List(3, 1) = 3

    ComboBox1.Value = 0

    TextBox1.Text = "TextBox1"

    TextBox1.ShowDropButtonWhen = fmShowDropButtonWhenAlways

    TextBox1.Locked = True

    Label1.Caption = "選択したﾄﾞﾛｯﾌﾟ ﾎﾞﾀﾝは、ﾃｷｽﾄ ﾎﾞｯｸｽにも適用されます。"

    Label1.AutoSize = True

    Label1.WordWrap = False

End Sub


LineCount プロパティ、TextLength プロパティの使用例

次の例は、LineCount プロパティ、TextLengthプロパティおよび SetFocus メソッドを使って、テキスト ボックス (TextBox) コントロール内の文字数および行数をカウントします。この例では、テキスト ボックス (TextBox) コントロールにテキストを入力したり、LineCount プロパティおよび TextLength プロパティの現在の値を取得することができます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	2 つのラベル (Label) コントロール (Label1 および Label2)

'テキスト ボックス内で改行するには、Shift + Enter キーを押します。

Private Sub CommandButton1_Click()

    '行数を取得するには、TextBox1 にフォーカスを設定する必要があります。

    TextBox1.SetFocus

    Label1.Caption = "LineCount ﾌﾟﾛﾊﾟﾃｨ = " & TextBox1.LineCount

    Label2.Caption = "TextLength ﾌﾟﾛﾊﾟﾃｨ = " & TextBox1.TextLength

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.WordWrap = True

    CommandButton1.AutoSize = True

    CommandButton1.Caption = "ｶｳﾝﾄ数の取得"

    Label1.Caption = "LineCount = "

    Label2.Caption = "TextLength = "

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "ここにﾃｷｽﾄを入力してください。"

End Sub


Count プロパティの使用例

次の例は、フォームの Controls コレクションの Count プロパティを表示します。また、Count プロパティは、マルチ ページ (MultiPage) コントロールおよびタブ ストリップ (TabStrip) コントロールのページ数およびタブ数も表示します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには任意の数のコントロールを含めることができます。ただし、フォームには次の制限があります。

•	マルチ ページ (MultiPage) コントロールには "MultiPage" で始まる名前を付ける必要があります。

•	タブ ストリップ (TabStrip) コントロールには "TabStrip" で始まる名前を付ける必要があります。

メモ   マルチ ページ (MultiPage) コントロールにはページを追加できます。また、タブ ストリップ (TabStrip) コントロールにはタブを追加できます。ページまたはタブを追加するには、コントロールをダブルクリックし、コントロールのタブ領域をマウスの右ボタンでクリックします。次に、ショートカット メニューの [新しいページ] をクリックします。

Private Sub UserForm_Initialize()

    Dim MyControl As Control

    MsgBox "UserForm1.Controls.Count = " & Controls.Count

    For Each MyControl In Controls

        If (MyControl.Name Like "MultiPage*") Then

            MsgBox MyControl.Name & ".Pages.Count = " & MyControl.Pages.Count

        ElseIf (MyControl.Name Like "TabStrip*") Then

            MsgBox MyControl.Name & ".Tabs.Count = " & MyControl.Tabs.Count

        End If

    Next

End Sub


Alignment プロパティの使用例

次の例は、いくつかのオプション ボタン (OptionButton) コントロールでの Alignment プロパティの使用例を示します。この例では、トグル ボタン (ToggleButton.) コントロールをクリックすることにより、オプション ボタンの配置を変更します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのオプション ボタン (OptionButton) コントロール (OptionButton1 および OptionButton2)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Private Sub UserForm_Initialize()

    OptionButton1.Alignment = fmAlignmentLeft

    OptionButton2.Alignment = fmAlignmentLeft

    OptionButton1.Caption = "OptionButton1"

    OptionButton2.Caption = "OptionButton2"

    OptionButton1.AutoSize = True

    OptionButton2.AutoSize = True

    ToggleButton1.Caption = "左揃え"

    ToggleButton1.WordWrap = True

    ToggleButton1.Value = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "左揃え"

        OptionButton1.Alignment = fmAlignmentLeft

        OptionButton2.Alignment = fmAlignmentLeft

    Else

        ToggleButton1.Caption = "右揃え"

        OptionButton1.Alignment = fmAlignmentRight

        OptionButton2.Alignment = fmAlignmentRight

    End If

End Sub


ActiveControl プロパティの使用例

次の例は、フォーカスを持っているコントロールを追跡するサブルーチンで ActiveControl プロパティを使用します。Enter イベントはフォーカスを持つコントロールを識別するために TraceFocus サブルーチンを呼び出します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	2 つのオプション ボタン (OptionButton) コントロール (OptionButton1 および OptionButton2)

•	フレーム (Frame) コントロール (Frame1)

Dim MyControl As Control

Private Sub TraceFocus()

    ListBox1.AddItem ActiveControl.Name

    ListBox1.List(ListBox1.ListCount - 1, 1) = ActiveControl.TabIndex

End Sub

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "ﾌｫｰｶｽを持っているｺﾝﾄﾛｰﾙ"

    ListBox1.List(0, 1) = "ｺﾝﾄﾛｰﾙのｲﾝﾃﾞｯｸｽ番号"

End Sub

Private Sub Frame1_Enter()

    TraceFocus

End Sub

Private Sub ListBox1_Enter()

    TraceFocus

End Sub

Private Sub OptionButton1_Enter()

    TraceFocus

End Sub

Private Sub OptionButton2_Enter()

    TraceFocus

End Sub

Private Sub ScrollBar1_Enter()

    TraceFocus

End Sub


DropDown メソッドの使用例

次の例は、DropDown メソッドを使用して、コンボ ボックス (ComboBox) コントロールの一覧を表示します。コマンド ボタン (CommandButton) コントロールをクリックすると、コンボ ボックス (ComboBox) コントロールの一覧を表示できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Private Sub CommandButton1_Click()

    ComboBox1.DropDown

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "七面鳥"

    ComboBox1.AddItem "ﾆﾜﾄﾘ"

    ComboBox1.AddItem "ｱﾋﾙ"

    ComboBox1.AddItem "ｶﾞﾁｮｳ"

    ComboBox1.AddItem "ﾗｲﾁｮｳ"

End Sub


テキスト ボックス (TextBox) コントロールからの切り取りと貼り付けの使用例

次の例は、Cut メソッドおよび Paste メソッドを使用して、テキスト ボックス (TextBox) コントロール (TextBox2) からテキストを切り取り、別のテキスト ボックス (TextBox) コントロール (TextBox1) に貼り付けます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Private Sub UserForm_Initialize()

    TextBox1.Text = "TextBox1 です。"

    TextBox2.Text = "こんにちは "

    CommandButton1.Caption = "切り取りと貼り付け"

    CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

    TextBox2.SelStart = 0

    TextBox2.SelLength = TextBox2.TextLength

    TextBox2.Cut

    TextBox1.SetFocus

    TextBox1.SelStart = 0

    TextBox1.Paste

    TextBox2.SelStart = 0

End Sub


Page オブジェクトからの切り取りと貼り付けの使用例

次の例は、Add メソッド、Cut メソッド、および Paste メソッドを使用して、マルチ ページ (MultiPage) コントロールの Page オブジェクトからコントロールを切り取って貼り付けます。切り取りと貼り付け操作に使用するコントロールは、フォームに動的に追加されます。

この例では、ユーザーが新しいコントロールを追加してから、切り取って貼り付けます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	3 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 ～ CommandButton3)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

    Set MyTextBox = MultiPage1.Pages(MultiPage1.Value).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

    CommandButton2.Enabled = True

    CommandButton1.Enabled = False

End Sub

Private Sub CommandButton2_Click()

    MultiPage1.Pages(MultiPage1.Value).Controls.Cut

    CommandButton3.Enabled = True

    CommandButton2.Enabled = False

End Sub

Private Sub CommandButton3_Click()

    Dim MyPage As Object

    Set MyPage = MultiPage1.Pages.Item(MultiPage1.Value)

    MyPage.Paste

    CommandButton3.Enabled = False

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "追加"

    CommandButton2.Caption = "切り取り"

    CommandButton3.Caption = "貼り付け"

    CommandButton1.Enabled = True

    CommandButton2.Enabled = False

    CommandButton3.Enabled = False

End Sub


Name プロパティの使用例

次の例は、フォーム上の各コントロールの Name プロパティの値を表示します。この例では、Controls コレクションを使用して、Userform 上に直接配置されているすべてのコントロールを順に移動します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	そのほかにいくつかのコントロール

Private Sub CommandButton1_Click()

    Dim MyControl As Control

    For Each MyControl In Controls

        MsgBox "MyControl.Name = " & MyControl.Name

    Next

End Sub


Tab コレクションの操作の使用例

次の例は、いくつかの方法でタブ ストリップ (TabStrip) コントロールのタブを個別に操作します。

•	数値インデックスと共に Tabs コレクションを使用する方法

•	文字列インデックスと共に Tabs コレクションを使用する方法

•	Item メソッドと共に Tabs コレクションを使用する方法

•	各 Tab オブジェクトの名前を使用する方法

•	SelectedItem プロパティを使用する方法

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	タブ ストリップ (TabStrip) コントロール (TabStrip1)

Private Sub UserForm_Initialize()

    Dim TabName As String

    For i = 0 To TabStrip1.Count - 1

        'インデックス (数値または文字列) を使用します。

        MsgBox "TabStrip1.Tabs(i).Caption = " & TabStrip1.Tabs(i).Caption

        MsgBox "TabStrip1.Tabs.Item(i).Caption = " & TabStrip1.Tabs.Item(i).Caption

        TabName = TabStrip1.Tabs(i).Name

        MsgBox "TabName = " & TabName

        MsgBox "TabStrip1.Tabs(TabName).Caption = " & TabStrip1.Tabs(TabName).Caption

        MsgBox "TabStrip1.Tabs.Item(TabName).Caption = " & TabStrip1.Tabs.Item(TabName).Caption

        'Tabs コレクションを参照しないで Tab オブジェクトを使用します。

        If i = 0 Then

            MsgBox "TabStrip1.Tab1. Caption = " & TabStrip1.Tab1.Caption

        ElseIf i = 1 Then

            MsgBox "TabStrip1.Tab2. Caption = " & TabStrip1.Tab2.Caption

        EndIf

        'SelectedItem プロパティを使用します。

        TabStrip1.Value = i

        MsgBox " TabStrip1.SelectedItem.Caption = " & TabStrip1.SelectedItem.Caption

    Next i

End Sub


Zoom プロパティの使用例

次の例は、Zoom プロパティを使用して、フォーム、Page オブジェクト、またはフレーム (Frame) コントロールに表示されている情報を縮小または拡大します。この例では、フレーム (Frame) コントロール、フレーム内に配置したテキスト ボックス (TextBox) コントロール、およびスクロール バー (ScrollBar) コントロールを使用します。フレーム (Frame) コントロールの倍率は、Zoom プロパティの値で変更します。Zoom プロパティの値は、スクロール バー (ScrollBar) コントロールを使用して設定します。テキスト ボックスは拡大効果を示すために表示さます。

この例では、スクロール バー (ScrollBar) コントロールの値の有効範囲を示すために、Max プロパティおよび Min プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのラベル (Label) コントロール (Label1 および Label2)

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)

•	フレーム (Frame) コントロール (Frame1)

•	Frame1 内に配置したテキスト ボックス (TextBox) コントロール (Text1)

Private Sub UserForm_Initialize()

    ScrollBar1.Max = 400

    ScrollBar1.Min = 10

    ScrollBar1.Value = 100

    Label1.Caption = "10  -----元のｻｲｽﾞとの比率---- 400"

    Label2.Caption = ScrollBar1.Value

    Frame1.TextBox1.Text = "ここにﾃｷｽﾄを入力してください。"

    Frame1.TextBox1.MultiLine = True

    Frame1.TextBox1.WordWrap = True

    Frame1.Zoom = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Change()

    Frame1.Zoom = ScrollBar1.Value

    Label2.Caption = ScrollBar1.Value

End Sub


TextColumn プロパティの使用例

次の例は TextColumn プロパティを使用して、Text プロパティにデータを提供するリスト ボックス (ListBox) コントロール内のデータ列を識別します。この例では、リスト ボックス (ListBox) コントロールの 3 列目をテキスト列として設定します。リスト ボックス (ListBox) コントロールから項目を選択すると、TextColumn プロパティの値がテキスト ボックスに表示されます。

また、この例では、AddItem メソッドおよび List プロパティを使用して、複数の列を含むリスト ボックス (ListBox) コントロールを読み込む方法を示します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	テキスト ボックス (TextBox) コントロール (TextBox1)

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 3

ListBox1.AddItem "行 1, 列 1"

ListBox1.List(0, 1) = "行 1, 列 2"

ListBox1.List(0, 2) = "行 1, 列 3"

ListBox1.AddItem "行 2, 列 1"

ListBox1.List(1, 1) = "行 2, 列 2"

ListBox1.List(1, 2) = "行 2, 列 3"

ListBox1.AddItem "行 3, 列 1"

ListBox1.List(2, 1) = "行 3, 列 2"

ListBox1.List(2, 2) = "行 3, 列 3"

ListBox1.TextColumn = 3

End Sub

Private Sub ListBox1_Change()

TextBox1.Text = ListBox1.Text

End Sub


PictureSizeMode プロパティの使用例

次の例は、PictureSizeMode プロパティを使用して、ピクチャの 3 つの表示オプションの例を示します。オプションには、ピクチャをそのままの大きさで表示するオプション、元のピクチャの縦横の比率を維持した状態でピクチャの大きさを変更するオプション、および領域に合わせてピクチャを引き伸ばすオプションがあります。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	フレーム (Frame) コントロール (Frame1)

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	テキスト ボックス (TextBox) (TextBox1)

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

メモ   この例は PictureAlignment プロパティの例を拡張したものです。PictureAlignment プロパティと PictureSizeMode プロパティは互いに機能を補い合います。3 つのオプション ボタン (OptionButton) コントロールのイベントを処理するサブルーチン部分が拡張されています。このサブルーチンはイメージをトリミングするのか、拡大するのか、または引き伸すのかを制御します。

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - 左上"

    Alignments(1) = "1 - 右上"

    Alignments(2) = "2 - 中央"

    Alignments(3) = "3 - 左下"

    Alignments(4) = "4 - 右下"

    'システム内のビットマップを指定します。

    Frame1.Picture = LoadPicture("c:\windows\花見.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

    OptionButton1.Caption = "ﾄﾘﾐﾝｸﾞ"

    OptionButton1.Value = True

    OptionButton2.Caption = "引き伸ばし"

    OptionButton3.Caption = "拡大"

End Sub

Private Sub OptionButton1_Click()

    If OptionButton1.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeClip

    End If

End Sub

Private Sub OptionButton2_Click()

    If OptionButton2.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeStretch

    End If

End Sub

Private Sub OptionButton3_Click()

    If OptionButton3.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeZoom

    End If

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


PictureAlignment プロパティの使用例

次の例は、PictureAlignment プロパティを使用して、背景となるピクチャを設定します。また、この例では、PictureAlignment プロパティが提供する配置オプションを指定します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	フレーム (Frame) コントロール (Frame1)

•	スピン ボタン (SpinButton) コントロール (SpinButton1)

•	テキスト ボックス (TextBox) (TextBox1)

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - 左上"

    Alignments(1) = "1 - 右上"

    Alignments(2) = "2 - 中央"

    Alignments(3) = "3 - 左下"

    Alignments(4) = "4 - 右下"

    'システム内のビットマップを指定します。

    Frame1.Picture = LoadPicture("c:\windows\花見.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


GroupName プロパティの使用例

次の例は、GroupName プロパティを使用して、同じフォーム上に 2 つのオプション ボタン (OptionButton) コントロールのグループを作成します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	5 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton5)

Private Sub UserForm_Initialize()

    OptionButton1.GroupName = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton1.Caption = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton2.GroupName = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton2.Caption = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton4.GroupName = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton4.Caption = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 1"

    OptionButton3.GroupName = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 2"

    OptionButton3.Caption = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 2"

    OptionButton5.GroupName = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 2"

    OptionButton5.Caption = "ｵﾌﾟｼｮﾝ ｸﾞﾙｰﾌﾟ 2"

End Sub


GetFromClipboard メソッドの使用例

次の例は、テキスト ボックス (TextBox) コントロールからクリップボードへ、クリップボードから DataObject オブジェクトへ、次に DataObject オブジェクトから別のテキスト ボックス (TextBox) コントロールへのデータの移動を示します。GetFromClipboard メソッドはデータをクリップボードから DataObject オブジェクトへデータを転送します。Copy メソッドおよび GetText メソッドも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Dim MyData as DataObject

Private Sub CommandButton1_Click()

    'クリップボードにコピーする前にテキストを選択する必要があります。

    TextBox1.SelStart = 0

    TextBox1.SelLength = TextBox1.TextLength

    TextBox1.Copy

    MyData.GetFromClipboard

    TextBox2.Text = MyData.GetText(1)

End Sub

Private Sub UserForm_Initialize()

    Set MyData = New DataObject

    TextBox1.Text = "このﾃﾞｰﾀをｸﾘｯﾌﾟﾎﾞｰﾄﾞにｺﾋﾟｰし、次に DataObject ｵﾌﾞｼﾞｪｸﾄにｺﾋﾟｰして、さらに TextBox2 にｺﾋﾟｰします。"

End Sub


PutInClipboard メソッドの使用例

次の例は、テキスト ボックス (TextBox) コントロールから DataObject オブジェクトへ、DataObject オブジェクトからクリップボードへ、次にクリップボードから別のテキスト ボックス (TextBox) コントロールへのデータの移動を示します。PutInClipboard メソッドはデータを DataObject オブジェクトからクリップボードにコピーします。SetText メソッドおよび Paste メソッドも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Dim MyData As DataObject

Private Sub CommandButton1_Click()

    Set MyData = New DataObject

    MyData.SetText TextBox1.Text

    MyData.PutInClipboard

    TextBox2.Paste

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "このﾃﾞｰﾀを DataObject ｵﾌﾞｼﾞｪｸﾄにｺﾋﾟｰし、次にｸﾘｯﾌﾟﾎﾞｰﾄﾞにｺﾋﾟｰして、さらに TextBox2 にｺﾋﾟｰします!"

End Sub


DragBehavior プロパティ、EnterFieldBehavior プロパティの使用例

次の例は、DragBehavior プロパティおよび EnterFieldBehavior プロパティを使用して、コントロールに入力したとき、およびあるコントロールから別のコントロールに情報をドラッグしたときに異なる動作を設定できることを示します。

この例は、2 つのテキスト ボックス (TextBox) コントロールを使用します。各コントロールに DragBehavior プロパティおよび EnterFieldBehavior プロパティを設定し、あるコントロールから別のコントロールに情報をドラッグしたときの動作を確認します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	4 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 ～ ToggleButton4)。ToggleButton1 および ToggleButton2 は TextBox1 に、ToggleButton3 および ToggleButton4 は TextBox2 に関連付けられます。

Private Sub UserForm_Initialize()

    TextBox1.Text = "むかし、むかし、ある所に ...,"

    ToggleButton1.Value = True

    ToggleButton1.Caption = "ﾄﾞﾗｯｸﾞ可能"

    ToggleButton1.WordWrap = True

    TextBox1.DragBehavior = fmDragBehaviorEnabled

    ToggleButton2.Value = True

    ToggleButton2.Caption = "選択解除"

    ToggleButton2.WordWrap = True

    TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    TextBox2.Text = "XXX, YYYY"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "ﾄﾞﾗｯｸﾞ不可"

    ToggleButton3.WordWrap = True

    TextBox2.DragBehavior = fmDragBehaviorDisabled

    ToggleButton4.Value = False

    ToggleButton4.Caption = "すべてを選択"

    ToggleButton4.WordWrap = True

    TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

       ToggleButton1.Caption = "ﾄﾞﾗｯｸﾞ可能"

       TextBox1.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton1.Caption = "ﾄﾞﾗｯｸﾞ不可"

       TextBox1.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "選択解除"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

        ToggleButton2.Caption = "すべてを選択"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

       ToggleButton3.Caption = "ﾄﾞﾗｯｸﾞ可能"

       TextBox2.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton3.Caption = "ﾄﾞﾗｯｸﾞ不可"

       TextBox2.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        ToggleButton4.Caption = "選択解除"

        TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

       ToggleButton4.Caption = "すべてを選択"

       TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub


GetFormat メソッド、GetText メソッド、SetText メソッドの使用例

次の例は、GetFormat メソッド、GetText メソッド、および SetText メソッドを使用して、DataObject オブジェクトとクリップボードの間でテキストを転送します。

テキスト ボックス (TextBox) コントロールにテキストを入力し、コマンド ボタン (CommandButton1) をクリックすることにより、そのテキストを標準のテキスト形式で DataObject オブジェクトに転送します。コマンド ボタン (CommandButton2) をクリックすると、DataObject オブジェクトからテキストを取得します。コマンド ボタン (CommandButton3) をクリックすると、テキスト ボックス (TextBox1) のテキストを カスタム形式で DataObject オブジェクトにコピーします。コマンド ボタン (CommandButton4) をクリックすると、カスタム形式の DataObject オブジェクトからテキストを取得します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	4 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 ～ CommandButton4)

•	ラベル (Label) コントロール (Label1)

Dim MyDataObject As DataObject

Private Sub CommandButton1_Click()

'標準形式でクリップボードに配置します。

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text

        Label1.Caption = "DataObject ｵﾌﾞｼﾞｪｸﾄに配置"

        CommandButton2.Enabled = True

        CommandButton4.Enabled = False

    End If

End Sub

Private Sub CommandButton2_Click()

'標準形式でクリップボードから取得します。

    If MyDataObject.GetFormat(1) = True Then

        Label1.Caption = "標準形式 - " & MyDataObject.GetText(1)

    End If

End Sub

Private Sub CommandButton3_Click()

'カスタム形式でクリップボードに配置します。

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text, 233

        Label1.Caption = "ｶｽﾀﾑ形式で DataObject ｵﾌﾞｼﾞｪｸﾄに配置"

        CommandButton4.Enabled = True

        CommandButton2.Enabled = False

    End If

End Sub

Private Sub CommandButton4_Click()

'カスタム形式でクリップボードから取得します。

    If MyDataObject.GetFormat(233) = True Then

        Label1.Caption = "ｶｽﾀﾑ形式 - " & MyDataObject.GetText(233)

End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton2.Enabled = False

    CommandButton4.Enabled = False

End Sub


CanPaste プロパティ、Paste メソッド、Copy メソッドの使用例

次の例は、CanPaste プロパティおよび Paste メソッドを使用して、コンボ ボックス (ComboBox) コントロールの内容をクリップボードからマルチ ページ (MultiPage) コントロールの Page オブジェクトに貼り付けます。また、この例では、SetFocus メソッドおよび Copy メソッドを使用して、コントロールの内容をフォームからクリップボードにコピーします。

コマンド ボタン (CommandButton1) をクリックすると、コンボ ボックス (ComboBox) コントロールの内容をクリップボードにコピーします。マルチ ページ (MultiPage) コントロールをダブルクリック (DblClick イベントを使用) すると、コンボ ボックス (ComboBox) コントロールの内容をマルチ ページ (MultiPage) コントロールに貼り付けます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

メモ   この例は、テキストをコントロールに貼り付けたことを確認するためのサブルーチンも含みます。

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "いい天気だ。"

    CommandButton1.Caption = "ｺﾝﾎﾞ ﾎﾞｯｸｽからｸﾘｯﾌﾟﾎﾞｰﾄﾞへｺﾋﾟｰする"

    CommandButton1.AutoSize = True

End Sub

Private Sub MultiPage1_DblClick(ByVal Index As Long, ByVal Cancel As MSForms.ReturnBoolean)

    If MultiPage1.Pages(MultiPage1.Value).CanPaste = True Then

        MultiPage1.Pages(MultiPage1.Value).Paste

    Else

        TextBox1.Text = "貼り付けることができません。"

    End If

End Sub

Private Sub CommandButton1_Click()

        UserForm1.ComboBox1.SetFocus

        UserForm1.Copy

End Sub

'コントロールにテキストを貼り付けるためのコード

'Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

'   If ComboBox1.CanPaste = True Then

'        ComboBox1.Paste

'    Else

'        TextBox1.Text = "貼り付けることができません。"

'    End If

'End Sub


スクロール バー (ScrollBar) コントロールの使用例

次の例は、他のコントロールから独立したスクロール バー (ScrollBar) コントロールの使用例です。スクロール ボックスを移動すると、値が変更されていることを通知します。コントロールの端にある一方の矢印をクリックするか、スクロール ボックスと矢印の間の領域をクリックするか、スクロール ボックスをドラッグすると、スクロール ボックスを動かせます。スクロール ボックスをドラッグすると、Scroll イベントが新しい値を取得したことを示すメッセージが表示されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	スクロール バー (ScrollBar) コントロール (ScrollBar1)。

•	2 つのラベル (Label) コントロール (Label1 および Label2)。Label1 はユーザーに計測範囲についての情報を表示します。Label2 は増分値を示します。

Dim ScrollSaved As Integer	'以前のスクロール バーの設定値

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -225

    ScrollBar1.Max = 289

    ScrollBar1.Value = 0

    Label1.Caption = "-225  -----部品-----   289"

    Label1.AutoSize = True

    Label2.Caption = ""

End Sub

Private Sub ScrollBar1_Change(ByVal Cancel as MSForms.ReturnBoolean)

    Label2.Caption = " 部品の変化した値 " & (ScrollSaved - ScrollBar1.Value)

    ScrollSaved = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Scroll()

    Label2.Caption = "部品がｽｸﾛｰﾙによって変化した値 " & (ScrollSaved - ScrollBar1.Value)

End Sub


CanUndo プロパティ、CanRedo プロパティ、UndoAction メソッド、RedoAction メソッドの使用例

次の例は、テキスト ボックス (TextBox) コントロール内またはコンボ ボックス (ComboBox) コントロール内のテキスト領域内のテキスト編集を元に戻したり、やり直す方法を示します。この例では、元に戻す操作またはやり直し操作を行うことができるかどうかをチェックし、次にその動作を実行します。例では、CanUndo プロパティと CanRedo プロパティ、および UndoAction メソッドと RedoAction メソッドを使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

•	2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

Private Sub CommandButton1_Click()

    If UserForm1.CanUndo = True Then

        UserForm1.UndoAction

        MsgBox "元に戻しました。"

    Else

        MsgBox "元に戻す操作は実行できませんでした。"

    End If

End Sub

Private Sub CommandButton2_Click()

    If UserForm1.CanRedo = True Then

        UserForm1.RedoAction

        MsgBox "やり直しました。"

    Else

        MsgBox "やり直し操作は実行できませんでした。"

    End If

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "ここにﾃｷｽﾄを入力してください。"

    ComboBox1.ColumnCount = 3

    ComboBox1.AddItem "選択項目 1, 列 1"

    ComboBox1.List(0, 1) = "選択項目 1, 列 2"

    ComboBox1.List(0, 2) = "選択項目 1, 列 3"

    CommandButton1.Caption = "元に戻す"

    CommandButton2.Caption = "やり直し"

End Sub


BoundColumn プロパティの使用例

次の例は、BoundColumn プロパティを使用して、リスト ボックス (ListBox) コントロールの値を変更する方法を示します。リスト ボックス (ListBox) コントロールの値として指定した行のインデックス値を取得できます。また、リスト ボックス (ListBox) コントロール内の指定したデータ列を取得することもできます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	ラベル (Label) コントロール (Label1)

•	3 つのオプション ボタン (OptionButton) コントロール (OptionButton1 ～ OptionButton3)

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "項目 1, 列 1"

    ListBox1.List(0, 1) = "項目 1, 列 2"

    ListBox1.AddItem "項目 2, 列 1"

    ListBox1.List(1, 1) = "項目 2, 列 2"

    ListBox1.Value = "項目 1, 列 1"

    OptionButton1.Caption = "ﾘｽﾄ ｲﾝﾃﾞｯｸｽ"

    OptionButton2.Caption = "列 1"

    OptionButton3.Caption = "列 2"

    OptionButton2.Value = True

End Sub

Private Sub OptionButton1_Click()

    ListBox1.BoundColumn = 0

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton2_Click()

    ListBox1.BoundColumn = 1

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton3_Click()

    ListBox1.BoundColumn = 2

    Label1.Caption = ListBox1.Value

End Sub

Private Sub ListBox1_Click()

    Label1.Caption = ListBox1.Value

End Sub


List プロパティの使用例

次の例は、複数列を持つリスト ボックス (ListBox) コントロールの列を入れ替えます。この例では、List プロパティを次の 2 つの方法で使用します。

1	リスト ボックス (ListBox.) コントロール内の個別の値を操作し、交換します。この使用方法では、List プロパティには指定した値のある行と列を明示するために値を指定します。

2	最初に配列から値を取得してリスト ボックス (ListBox) コントロールに読み込みます。この使用方法では、List プロパティには行と列を指定しません。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Dim MyArray(6, 3)	'リスト ボックスの列の値を含む配列です。

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3	'このリスト ボックスには 3 つのデータ列が含まれます。

    '配列 MyArray に整数値を読み込みます。

    For i = 0 To 5

        MyArray(i, 0) = i

        MyArray(i, 1) = Rnd

        MyArray(i, 2) = Rnd

    Next i

    'ListBox1 を読み込みます。

    ListBox1.List() = MyArray

End Sub

Private Sub CommandButton1_Click()

' 1 列目と 3 列目の内容を入れ替えます。

    Dim i As Single

    Dim Temp As Single

    For i = 0 To 5

        Temp = ListBox1.List(i, 0)

        ListBox1.List(i, 0) = ListBox1.List(i, 2)

        ListBox1.List(i, 2) = Temp

    Next i

End Sub


ClientHeight プロパティ、ClientLeft プロパティ、ClientTop プロパティ、ClientWidth プロパティの使用例

次の例は、ユーザーがコマンド ボタン (CommandButton) をクリックしたときに、タブ ストリップ (TabStrip) コントロールのクライアント領域のサイズをイメージ (Image) コントロールの幅として設定します。この例では、Height プロパティ、Left プロパティ、Top プロパティ、Width プロパティ、ClientHeight プロパティ、ClientLeft プロパティ、ClientTop プロパティ、および ClientWidth プロパティを使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	タブ ストリップ (TabStrip) コントロール (TabStrip1)

•	イメージ (Image) コントロール (Image1)

Private Sub UserForm_Initialize()

CommandButton1.Caption = "ｲﾒｰｼﾞ ｺﾝﾄﾛｰﾙをﾀﾌﾞの大きさに変更する"

CommandButton1.WordWrap = True

CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

Image1.ZOrder (fmFront)                  'イメージ コントロールをタブ ストリップ コントロールの前面に配置します。

'タブ ストリップ コントロールの端からクライアント領域の左端および上端を計測します。

'タブ ストリップ コントロールを含むフォームの端から計測するのではありません。

Image1.Left = TabStrip1.Left + TabStrip1.ClientLeft

Image1.Top = TabStrip1.Top + TabStrip1.ClientTop

Image1.Width = TabStrip1.ClientWidth

Image1.Height = TabStrip1.ClientHeight

End Sub


MultiLine プロパティ、WordWrap プロパティ、ScrollBars プロパティの使用例

次の例は、テキスト ボックス (TextBox) コントロールの MultiLine プロパティ、WordWrap プロパティ、および ScrollBars プロパティの使用方法を示します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	テキスト ボックス (TextBox) コントロール (TextBox1)

•	4 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 ～ ToggleButton4)

テキスト (TextBox) ボックスに配置されているテキスト全体を参照するには、トグル ボタン (ToggleButton) コントロールをクリックして MultiLine プロパティおよび WordWrap プロパティに真 (True) を設定します。

MultiLine プロパティが真 (True) の場合、Shift + Enter キーを押してテキストを改行することができます。

テキスト ボックス (TextBox) コントロールの内容を手動で変更するときは、スクロール バーを表示します。

Private Sub UserForm_Initialize()

'テキスト ボックス コントロールのプロパティおよびトグル ボタンを初期化します。

TextBox1.Text = "ここにﾃｷｽﾄを入力してください。改行するには、Shift + Enter ｷｰを押します。"

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize ｵﾌ"

ToggleButton1.Value = False

ToggleButton1.AutoSize = True

TextBox1.WordWrap = False

ToggleButton2.Caption = "WordWrap ｵﾌ"

ToggleButton2.Value = False

ToggleButton2.AutoSize = True

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "ScrollBars ｵﾌ"

ToggleButton3.Value = False

ToggleButton3.AutoSize = True

TextBox1.MultiLine = False

ToggleButton4.Caption = "単一行"

ToggleButton4.Value = False

ToggleButton4.AutoSize = True

 End Sub

Private Sub ToggleButton1_Click()

'AutoSize プロパティおよび関連するトグル ボタン コントロールを設定します。

If ToggleButton1.Value = True Then

TextBox1.AutoSize = True

ToggleButton1.Caption = "AutoSize ｵﾝ"

Else

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize ｵﾌ"

End If

End Sub

Private Sub ToggleButton2_Click()

'WordWrap プロパティおよび関連するトグル ボタン コントロールを設定します。

If ToggleButton2.Value = True Then

TextBox1.WordWrap = True

ToggleButton2.Caption = "WordWrap ｵﾝ"

Else

TextBox1.WordWrap = False

ToggleButton2.Caption = "WordWrap ｵﾌ"

End If

End Sub

Private Sub ToggleButton3_Click()

'ScrollBars プロパティおよび関連するトグル ボタン コントロールを設定します。

If ToggleButton3.Value = True Then

TextBox1.ScrollBars = 3

ToggleButton3.Caption = "ScrollBars ｵﾝ"

Else

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "ScrollBars ｵﾌ"

End If

End Sub

Private Sub ToggleButton4_Click()

'MultiLine プロパティおよび関連するトグル ボタン コントロールを設定します。

If ToggleButton4.Value = True Then

TextBox1.MultiLine = True

ToggleButton4.Caption = "複数行"

Else

TextBox1.MultiLine = False

ToggleButton4.Caption = "単一行"

End If

End Sub


ドラッグ アンド ドロップ操作の使用例

次の例は、ドラッグするテキストを格納する DataObject オブジェクトを使用して、あるリスト ボックス (ListBox) コントロールから別のリスト ボックス (ListBox) コントロールへのドラッグ アンド ドロップ操作の例を示します。この例では、ドラッグ アンド ドロップ操作を実行するのに MouseMove イベントの中で SetText メソッドおよび StartDrag メソッドを使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのリスト ボックス (ListBox) コントロール (ListBox1 および ListBox2)。また、2 つ目のリスト ボックス (ListBox) コントロールに選択肢を追加する必要もあります。

Private Sub ListBox2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As Long, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

    Cancel = True

    Effect = 1

End Sub

Private Sub ListBox2_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As Long, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

    Cancel = True

    Effect = 1

    ListBox2.AddItem Data.GetText

End Sub

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    Dim MyDataObject As DataObject

    If Button = 1 Then

        Set MyDataObject = New DataObject

        Dim Effect As Integer

        MyDataObject.SetText ListBox1.Value

        Effect = MyDataObject.StartDrag

    End If

End Sub

Private Sub UserForm_Initialize()

    For i = 1 To 10

        ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)

    Next i

End Sub


ページ操作の使用例

次の例は、マルチ ページ (MultiPage) コントロールの各ページをいくつかの方法で操作する例を示します。

•	数値インデックスと共に Pages コレクションを使用する方法

•	文字列インデックスと共に Pages コレクションを使用する方法

•	Item メソッドと共に Pages コレクションを使用する方法

•	マルチ ページ (MultiPage) コントロールの各ページの名前を使用する方法

•	SelectedItem プロパティを使用する方法

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

Private Sub UserForm_Initialize()

    Dim PageNAme As String

    For i = 0 To MultiPage1.Count - 1

        'インデックス (数値または文字列) を使用します。

        MsgBox "MultiPage1.Pages(i).Caption = " & MultiPage1.Pages(i).Caption

        MsgBox "MultiPage1.Pages.Item(i).Caption = " & MultiPage1.Pages.Item(i).Caption

        PageNAme = MultiPage1.Pages(i).Name

        MsgBox "PageName = " & PageNAme

        MsgBox "MultiPage1.Pages(PageName).Caption = " & MultiPage1.Pages(PageNAme).Caption

        MsgBox "MultiPage1.Pages.Item(PageName).Caption = " & MultiPage1.Pages.Item(PageNAme).Caption

        'Pages コレクションを参照しないで Page オブジェクトを使用します。

        If i = 0 Then

            MsgBox "MultiPage1.Page1.Caption= " & MultiPage1.Page1.Caption

        ElseIf i = 1 Then

            MsgBox "MultiPage1.Page2.Caption = " & MultiPage1.Page2.Caption

        End If

        'SelectedItem プロパティを使用します。

        MultiPage1.Value = i

        MsgBox "MultiPage1.SelectedItem.Caption = " & MultiPage1.SelectedItem.Caption

    Next i

End Sub


コントロールの追加の使用例

次の例は、Add メソッドを使用して、実行時にフォームにコントロールを追加します。また、コントロールが追加されたことを確認するのに AddControl イベントを使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	ラベル (Label) コントロール (Label1)

Dim Mycmd as Control

Private Sub CommandButton1_Click()

Set Mycmd = Controls.Add("Forms.CommandButton.1") ', CommandButton2, Visible)

Mycmd.Left = 18

Mycmd.Top = 150

Mycmd.Width = 175

Mycmd.Height = 20

Mycmd.Caption = "追加したコマンド ボタン" & Mycmd.Name

End Sub

Private Sub UserForm_AddControl(ByVal Control As MSForms.Control)

Label1.Caption = "ｺﾝﾄﾛｰﾙが追加されました。"

End Sub


マルチ ページ (MultiPage) コントロールへのコントロールの追加の使用例

次の例は、Add メソッド、Clear メソッド、および Remove メソッドを使用して、実行時にマルチ ページ (MultiPage) コントロールの Page オブジェクトにコントロールを追加したり、削除したりします。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	3 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 ～ CommandButton3)

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

Set MyTextBox = MultiPage1.Pages(0).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

End Sub

Private Sub CommandButton2_Click()

MultiPage1.Pages(0).Controls.Clear

End Sub

Private Sub CommandButton3_Click()

If MultiPage1.Pages(0).Controls.Count > 0 Then

MultiPage1.Pages(0).Controls.Remove "MyTextBox"

End If

End Sub

Private Sub UserForm_Initialize()

CommandButton1.Caption = "ｺﾝﾄﾛｰﾙの追加"

CommandButton2.Caption = "ｺﾝﾄﾛｰﾙのｸﾘｱ"

CommandButton3.Caption = "ｺﾝﾄﾛｰﾙの削除"

End Sub


リスト ボックス (ListBox) コントロールの使用例

次の例は、AddItem メソッド、RemoveItem メソッド、および SetFocus メソッドと ListIndex プロパティおよび ListCount プロパティを使用して、リスト ボックス (ListBox) コントロールの項目を追加または削除します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

Dim EntryCount As Single

Private Sub CommandButton1_Click()

    EntryCount = EntryCount + 1

    ListBox1.AddItem (EntryCount & " - 選択項目")

End Sub

Private Sub CommandButton2_Click()

    ListBox1.SetFocus

    'リスト ボックス コントロールにリスト項目が含まれているかどうかを確認します。

    If ListBox1.ListCount >= 1 Then

        'If no selection, choose last list item.

        If ListBox1.ListIndex = -1 Then

            ListBox1.ListIndex = ListBox1.ListCount - 1

        End If

        ListBox1.RemoveItem (ListBox1.ListIndex)

    End If

End Sub

Private Sub UserForm_Initialize()

    EntryCount = 0

    CommandButton1.Caption = "項目の追加"

    CommandButton2.Caption = "項目の削除"

End Sub


ZOrder メソッドの使用例

次の例は、テキスト ボックス (TextBox) コントロールの Z オーダーを設定します。Z オーダーを設定することにより、テキスト ボックス (TextBox) コントロールを Z オーダーの上層に移動してコントロール全体を表示することができます。または、テキスト ボックス (TextBox) コントロールを Z オーダーの下層に移動してコントロールを他のコントロールの後ろに配置できます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	3 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox3)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox2.ZOrder (fmTop)          'TextBox2 を Z オーダーの先頭に配置します。

'次の状態を指定できるようにトグル ボタン コントロールのキャプションを変更します。

ToggleButton1.Caption = "TextBox2 を下層へ移動"

Else

TextBox2.ZOrder (1)              'TextBox2 を Z オーダーの最後に配置します。

'次の状態を指定できるようにトグル ボタン コントロールのキャプションを変更します。

ToggleButton1.Caption = "TextBox2 を上層へ移動"

End If

End Sub

Private Sub UserForm_Initialize()

'フォーム内の Z オーダーが表示されるようにテキスト ボックスを設定します。

TextBox1.Text = "TextBox 1"

TextBox2.Text = "TextBox 2"

TextBox3.Text = "TextBox 3"

TextBox1.Height = 40

TextBox2.Height = 40

TextBox3.Height = 40

TextBox1.Width = 60

TextBox2.Width = 60

TextBox3.Width = 60

TextBox1.Left = 10

TextBox1.Top = 10

TextBox2.Left = 25      'TextBox1 上に TextBox2 を配置します。

TextBox2.Top = 25

TextBox3.Left = 40      'TextBox2 および TextBox1 上に TextBox3 を配置します。

TextBox3.Top = 40

ToggleButton1.Value = False

ToggleButton1.Caption = "TextBox2 を上層へ移動"

ToggleButton1.Left = 10

ToggleButton1.Top = 90

ToggleButton1.Width = 50

ToggleButton1.Height = 50

End Sub


Accelerator プロパティ、Caption プロパティの使用例

次の例は、ユーザーがマウスまたはアクセス キーを使用して、ボタンをクリックするたびにコマンド ボタン (CommandButton) コントロールの Accelerator プロパティおよび Caption プロパティを変更します。Click イベントには Accelerator プロパティおよび Caption プロパティを変更するコードが含まれます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

Private Sub UserForm_Initialize()

CommandButton1.Accelerator  = "C"         'Alt + C キーをアクセス キーとして設定します。

End Sub

Private Sub CommandButton1_Click ()

If CommandButton1.Caption = "OK(O)" Then     'キャプションをチェックし、変更します。

CommandButton1.Caption = "ｸﾘｯｸされました。(C)"

CommandButton1.Accelerator  = "C"         'Alt + C キーをアクセス キーとして設定します。

Else

CommandButton1.Caption = "OK(O)"

CommandButton1.Accelerator  = "O"         'Alt + O キーをアクセス キーとして設定します。

End If

End Sub


AutoSize プロパティの使用例

次の例は、単一行のテキスト ボックス (TextBox) コントロールおよび複数行のテキスト ボックス (TextBox) コントロールを使用して、AutoSize プロパティの動作を示します。ユーザーは、テキスト ボックス (TextBox) コントロールにテキストを入力し、テキスト ボックス (TextBox) コントロールの AutoSize プロパティを個別にオンまたはオフにします。この例では、Text プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのテキスト ボックス (TextBox) コントロール (TextBox1 および TextBox2)

•	トグル ボタン (ToggleButton) コントロール (ToggleButton1)

Private Sub UserForm_Initialize()

    TextBox1.Text = "単一行のﾃｷｽﾄ ﾎﾞｯｸｽです。ここにﾃｷｽﾄを入力してください。"

    TextBox2.MultiLine = True

    TextBox2.Text = "複数行のﾃｷｽﾄ ﾎﾞｯｸｽです。ここにﾃｷｽﾄを入力してください。改行するには、Ctrl + Enter ｷｰを押します。"

    ToggleButton1.Value = True

    ToggleButton1.Caption = "AutoSize ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

    TextBox1.AutoSize = True

    TextBox2.AutoSize = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "AutoSize ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

        TextBox1.AutoSize = True

        TextBox2.AutoSize = True

    Else

        ToggleButton1.Caption = "AutoSize ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

        TextBox1.AutoSize = False

        TextBox2.AutoSize = False

    End If

End Sub


Bold プロパティ、Italic プロパティ、Size プロパティ、StrikeThrough プロパティ、Underline プロパティ、Weight プロパティの使用例

次の例は、Font オブジェクトおよびフォントに関連する Bold プロパティ、Italic プロパティ、Size プロパティ、StrikeThrough プロパティ、Underline プロパティ、および Weight プロパティの使用例を示します。オブジェクトのフォント関連のプロパティは直接操作することができます。また、この例のように別名を使用して操作することもできます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのラベル (Label) コントロール (Label1 および Label2)

•	4 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 ～ ToggleButton4)

•	テキスト ボックス (TextBox) コントロール (TextBox1)

Dim MyFont As StdFont

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        MyFont.Bold = True	'MyFont という別名を使用してフォントを制御します。

        ToggleButton1.Caption = "Bold ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

        MyFont.Size = 22	'フォント サイズを大きくします。

    Else

        MyFont.Bold = False

        ToggleButton1.Caption = "Bold ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

        MyFont.Size = 8	'フォント サイズを初期値に戻します。

    End If

    TextBox1.Text = Str(MyFont.Weight)  'Bold プロパティと Weight プロパティは関連性があります。

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        Label1.Font.Italic = True	'Label1 の Font オブジェクトを直接使用します。

        ToggleButton2.Caption = "Italic ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

    Else

        Label1.Font.Italic = False

        ToggleButton2.Caption = "Italic ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

        Label1.Font.Strikethrough = True	'Label1 の Font オブジェクトを直接使用します。

        ToggleButton3.Caption = "StrikeThrough ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

    Else

        Label1.Font.Strikethrough = False

        ToggleButton3.Caption = "StrikeThrough ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        MyFont.Underline = True	'Label1 の Font オブジェクトに対して別名として MyFont を使用します。

        ToggleButton4.Caption = "Underline ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

    Else

        Label1.Font.Underline = False

        ToggleButton4.Caption = "Underline ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    End If

End Sub

Private Sub UserForm_Initialize()

    Set MyFont = Label1.Font

    ToggleButton1.Value = True

    ToggleButton1.Caption = "Bold ﾌﾟﾛﾊﾟﾃｨ ｵﾝ"

    Label1.AutoSize = True	'Label1 のサイズを設定します。

    Label1.AutoSize = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "Italic ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "StrikeThrough ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    ToggleButton4.Value = False

    ToggleButton4.Caption = "Underline ﾌﾟﾛﾊﾟﾃｨ ｵﾌ"

    Label2.Caption = "Font Weight"

    TextBox1.Text = Str(Label1.Font.Weight)

    TextBox1.Enabled = False

End Sub


境界線と色の拡張の使用例

次の例は、BorderStyle プロパティおよび SpecialEffect プロパティの使用例で、各境界線でこれらのプロパティが有効であることを示します。また、この例では、BackColor プロパティ、BackStyle プロパティ、BorderColor プロパティ、および ForeColor プロパティを使用して、コントロールの色を設定する方法を示します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	6 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox6)

•	2 つのトグル ボタン (ToggleButton) コントロール (ToggleButton1 および ToggleButton2)

Private Sub UserForm_Initialize()

'各テキスト ボックス コントロールの境界線のスタイル、特殊効果、前景色および背景色を初期化します。

'TextBox1 が初期設定として境界線のスタイルを指定します。

TextBox1.Text = "BorderStyle ﾌﾟﾛﾊﾟﾃｨ = Single (実線の境界線)"

TextBox1.BorderStyle = fmBorderStyleSingle

TextBox1.BorderColor = RGB(255, 128, 128)	'色 - サーモン ピンク

TextBox1.ForeColor = RGB(255, 255, 0)	'色 - 黄

TextBox1.BackColor = RGB(0, 128, 64)	'色 - 緑 #2

'TextBoxes 2 ～ 6 は初期設定として特殊効果を指定します。

TextBox2.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Flat"

TextBox2.SpecialEffect = fmSpecialEffectFlat

TextBox2.ForeColor = RGB(64, 0, 0)	'色 - 茶

TextBox2.BackColor = RGB(0, 0, 255)	'色 - 青

'TextBox2 の初期設定の背景の形式が不透明であるかどうかを確認します。

TextBox2.BackStyle = fmBackStyleOpaque

TextBox3.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Etched"

TextBox3.SpecialEffect = fmSpecialEffectEtched

TextBox3.ForeColor = RGB(128, 0, 255)	'色 - 紫

TextBox3.BackColor = RGB(0, 255, 255)	'色 - シアン

'BorderStyle プロパティに fmBorderStyleSingle が設定されたときに使用できるように、BorderColor プロパティを定義しておきます。

TextBox3.BorderColor = RGB(0, 0, 0)	'色 - 黒

TextBox4.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Bump"

TextBox4.SpecialEffect = fmSpecialEffectBump

TextBox4.ForeColor = RGB(255, 0, 255)	'色 - マゼンダ

TextBox4.BackColor = RGB(0, 0, 100)	'色 - 濃紺

TextBox5.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Raised"

TextBox5.SpecialEffect = fmSpecialEffectRaised

TextBox5.ForeColor = RGB(255, 0, 0)	'色 - 赤

TextBox5.BackColor = RGB(128, 128, 128)	'色 - 灰色

TextBox6.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Sunken"

TextBox6.SpecialEffect = fmSpecialEffectSunken

TextBox6.ForeColor = RGB(0, 64, 0)	'色 - オリーブ

TextBox6.BackColor = RGB(0, 255, 0)	'色 - 緑

ToggleButton1.Caption = "TextBox1 と TextBox3 の境界線を入れ替える"

ToggleButton2.Caption = "TextBox2 の背景 (透明/不透明) を切り替える"

End Sub

Private Sub ToggleButton1_Click()

' TextBox1 と TextBox3 の間で境界線を入れ替えます。

If ToggleButton1.Value = True Then

'TextBox1 を境界線から特殊効果の Etched に変更します。

TextBox1.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Etched"

TextBox1.SpecialEffect = fmSpecialEffectEtched

'TextBox3 を特殊効果の Etched から境界線に変更します。

TextBox3.Text = "BorderStyle ﾌﾟﾛﾊﾟﾃｨ = Single (実線の境界線)"

TextBox3.BorderStyle = fmBorderStyleSingle

Else

' TextBox1 を境界線に戻します。

TextBox1.Text = "BorderStyle ﾌﾟﾛﾊﾟﾃｨ = Single (実線の境界線)"

TextBox1.BorderStyle = fmBorderStyleSingle

'TextBox3 を特殊効果の Etched に戻します。

TextBox3.Text = "SpecialEffect ﾌﾟﾛﾊﾟﾃｨ = Etched"

TextBox3.SpecialEffect = fmSpecialEffectEtched

End If

End Sub

Private Sub ToggleButton2_Click()

'背景を不透明または透明に設定します。

If ToggleButton2.Value = True Then

'TextBox2 の背景を透明にします。

TextBox2.BackStyle = fmBackStyleTransparent

Else

'TextBox2 の背景を不透明にします。

TextBox2.BackStyle = fmBackStyleOpaque

End If

End Sub


Column プロパティの使用例

'

次の例は、2 次元の配列をデータと共に読み込み、Column プロパティおよび List プロパティを使用して、2 つのリスト ボックス (ListBox) コントロールを読み込みます。Column プロパティが、読み込むときに配列の要素を置き換えていることに注意してください。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	2 つのリスト ボックス (ListBox) コントロール (ListBox1 および ListBox2)

Dim MyArray(6,3)

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3        'リスト ボックス (ListBox1) には 3 つのデータ列が含まれます。

    ListBox2.ColumnCount = 6        'リスト ボックス (ListBox2) には 6 つのデータ列が含まれます。

    'MyArray の先頭の列に整数値を読み込みます。

    For i = 0 To 5

        MyArray(i, 0) = i

    Next i

    'MyArray の 2 列目と 3 列目を読み込みます。

    MyArray(0, 1) = "Zero"

    MyArray(1, 1) = "One"

    MyArray(2, 1) = "Two"

    MyArray(3, 1) = "Three"

    MyArray(4, 1) = "Four"

    MyArray(5, 1) = "Five"

    MyArray(0, 2) = "零"

    MyArray(1, 2) = "一"

    MyArray(2, 2) = "二"

    MyArray(3, 2) = "三"

    MyArray(4, 2) = "四"

    MyArray(5, 2) = "五"

    'ListBox1 および ListBox2 にデータを読み込みます。

    ListBox1.List() = MyArray

    ListBox2.Column() = MyArray

End Sub


ColumnWidths プロパティの使用例

次の例は、ColumnWidths プロパティを使用して、複数列を持つリスト ボックス (ListBox) コントロールの列の幅を変更します。また、3 つのテキスト ボックス (TextBox) コントロールを使用して各列の幅を指定します。各テキスト ボックス (TextBox) コントロールの大きさの単位は Exit イベントを使用して指定します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	3 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox3)

•	コマンド ボタン (CommandButton) コントロール

値に 0 を設定すると、列を非表示にすることができます。

Dim MyArray(2, 3) As String

Private Sub CommandButton1_Click()

'ColumnWidths プロパティに指定する値は、列ごとにセミコロン (;) で区切る必要があります。

ListBox1.ColumnWidths = TextBox1.Text & ";" & TextBox2.Text & ";" & TextBox3.Text

End Sub

Private Sub TextBox1_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths プロパティには少数点 (単位なし) を指定できます。インチまたは cm も指定できます。インチを既定値に設定します。

If Not (InStr(TextBox1.Text, "in") > 0 Or InStr(TextBox1.Text, "cm") > 0) Then

TextBox1.Text = TextBox1.Text & " in"

End If

End Sub

Private Sub TextBox2_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths プロパティには少数点 (単位なし) を指定できます。インチまたは cm も指定できます。インチを既定値に設定します。

If Not (InStr(TextBox2.Text, "in") > 0 Or InStr(TextBox2.Text, "cm") > 0) Then

TextBox2.Text = TextBox2.Text & " in"

End If

End Sub

Private Sub TextBox3_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths プロパティには少数点 (単位なし) を指定できます。インチまたは cm も指定できます。インチを既定値に設定します。

If Not (InStr(TextBox3.Text, "in") > 0 Or InStr(TextBox3.Text, "cm") > 0) Then

TextBox3.Text = TextBox3.Text & " in"

End If

End Sub

Private Sub UserForm_Initialize()

Dim i, j, Rows As Single

ListBox1.ColumnCount = 3

Rows = 2

For j = 0 To ListBox1.ColumnCount - 1

For i = 0 To Rows - 1

MyArray(i, j) = "行 " & i & ", 列 " & j

Next i

Next j

ListBox1.List() = MyArray           'ListBox1 に配列 MyArray を読み込みます。

TextBox1.Text = "1 in"              '列の初期値は 1 インチです。

TextBox2.Text = "1 in"

TextBox3.Text = "1 in"

End Sub


ControlTipText プロパティの使用例

次の例は、3 つのコマンド ボタン (CommandButton) コントロールおよびマルチ ページ (MultiPage) コントロール内の 2 つの Page オブジェクトに対して ControlTipText プロパティを定義します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	マルチ ページ (MultiPage) コントロール (MultiPage1)

•	3 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 ～ CommandButton3)

メモ   マルチ ページ (MultiPage) コントロールまたはマルチ ページ (MultiPage) コントロールの選択中のページ上のコントロールがフォーカスを持っているとき、マルチ ページ (MultiPage) コントロールの各 Page オブジェクトに対して ControlTipText プロパティが有効になります。

Private Sub UserForm_Initialize()

MultiPage1.Page1.ControlTipText = "これはﾍﾟｰｼﾞ 1 です。"

MultiPage1.Page2.ControlTipText = "これはﾍﾟｰｼﾞ 2 です。"

CommandButton1.ControlTipText = "そして、これが"

CommandButton2.ControlTipText = "ｺﾝﾄﾛｰﾙ ﾋﾝﾄ"

CommandButton3.ControlTipText = "です。"

End Sub


CurLine プロパティ、CurTargetX プロパティ、CurX プロパティ、Textプロパティの使用例

次の例は、複数行のテキスト ボックス (TextBox) コントロールの CurLine プロパティ、CurTargetX プロパティ、および CurX プロパティの設定値を追跡します。これらの設定値は、Text プロパティに値を入力したり、カーソル位置を移動したり、キーボードを使用して選択範囲を広げたときに設定値が変わります。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	4 つのテキスト ボックス (TextBox) コントロール (TextBox1 ～ TextBox4)

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.CurLine

TextBox3.Text = TextBox1.CurX

TextBox4.Text = TextBox1.CurTargetX

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.Text = "ここにﾃｷｽﾄを入力してください。改行するには、Ctrl + Enter ｷｰを押します。"

End Sub


HideSelection プロパティの使用例

'

次の例は、1 つまたは複数のフォームを使用している場合の HideSelection プロパティの使用例を示します。テキスト ボックス (TextBox) コントロール内でテキストを選択し、Tab キーを使ってフォーム上の他のコントロールに移動できます。また、2 つ目のフォームにフォーカスを移動することもできます。この例では、SetFocus メソッドと EnterFieldBehavior プロパティ、MultiLine プロパティ、および Value プロパティを使用します。

この例を使用するには、次の手順に従います。

1	UserForm1 のコードをフォームのコード ウィンドウに貼り付けます。

2	大きなテキスト ボックス (TextBox) コントロール (TextBox1)、トグル ボタン (ToggleButton) コントロール (ToggleButton1)、およびコマンド ボタン (CommandButton) コントロール (CommandButton1) を追加します。

3	プロジェクトに 2 つ目のフォーム (UserForm2) を挿入します。

4	UserForm2 のコードを 2 つ目のフォームのコード ウィンドウに貼り付けます。

5	UserForm2 にコマンド ボタン (CommandButton) コントロール (CommandButton1) を追加します。

6	UserForm1 を実行します。

' ***** UserForm1 のコード *****

Private Sub CommandButton1_Click()

TextBox1.SetFocus

UserForm2.Show                             '2 つ目のフォームを起動します。

End Sub

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox1.HideSelection = False

ToggleButton1.Caption = "選択部分の表示"

Else

TextBox1.HideSelection = True

ToggleButton1.Caption = "選択部分の非表示"

End If

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

'テキスト ボックス コントロールをテキストで埋める。

TextBox1.Text = "SelText ﾌﾟﾛﾊﾟﾃｨは、選択されているテキストの開始位置を示します。テキストが選択されていない場合は、カーソル位置を示します。" _

& Chr$(10) & Chr$(13) & "コントロールがフォーカスを持っていない場合でも、SelStart ﾌﾟﾛﾊﾟﾃｨは常に有効です。SelStart ﾌﾟﾛﾊﾟﾃｨに 0 未満の値を設定すると、エラーが発生します。" _

& Chr$(10) & Chr$(13) & "SelStart ﾌﾟﾛﾊﾟﾃｨの値を変更すると、コントロール内で既に選択されている部分の選択が取り消されます。また、テキスト内にカーソルが置かれ、SelLength ﾌﾟﾛﾊﾟﾃｨに 0 が設定されます。"

TextBox1.HideSelection = True

ToggleButton1.Caption = "選択部分の非表示"

ToggleButton1.Value = False

End Sub

'

' ***** UserForm2 のコード *****

Private Sub CommandButton1_Click()

UserForm2.Hide

End Sub


Picture プロパティ、PicturePosition プロパティの使用例

次の例は、コンボ ボックス (ComboBox) コントロールを使用して、コントロールにピクチャを配置するためのオプションを表示します。ユーザーがリストの選択項目をクリックすると、コマンド ボタン (CommandButton) コントロール上のピクチャとキャプションが変更されます。この例では、コンボ ボックス (ComboBox) コントロールの選択項目を追加するために AddItem メソッドも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	ラベル (Label) コントロール (Label1)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	コンボ ボックス (ComboBox) コントロール (ComboBox1)

Private Sub UserForm_Initialize()

Label1.Left = 18

Label1.Top = 12

Label1.Height = 12

Label1.Width = 190

Label1.Caption = "ｷｬﾌﾟｼｮﾝに対するﾋﾟｸﾁｬの配置を選択する"

'コンボ ボックスにリスト項目を追加します。各項目の値は、

'対応するコンボ ボックスの ListIndex プロパティの値に一致します。

ComboBox1.AddItem "左/上"	'ListIndex = 0

ComboBox1.AddItem "左/中央"	'ListIndex = 1

ComboBox1.AddItem "左/下"	'ListIndex = 2

ComboBox1.AddItem "右/上"	'ListIndex = 3

ComboBox1.AddItem "右/中央"	'ListIndex = 4

ComboBox1.AddItem "右/下"	'ListIndex = 5

ComboBox1.AddItem "左/上方"	'ListIndex = 6

ComboBox1.AddItem "中央/上方"	'ListIndex = 7

ComboBox1.AddItem "右/上方"	'ListIndex = 8

ComboBox1.AddItem "左/下方"	'ListIndex = 9

ComboBox1.AddItem "中央/下方"	'ListIndex = 10

ComboBox1.AddItem "右/下方"	'ListIndex = 11

ComboBox1.AddItem "中央"	'ListIndex = 12

ComboBox1.Style = fmStyleDropDownList	'ドロップダウン リストを使用します。

ComboBox1.BoundColumn = 0	'コンボ ボックスの値は、ListIndex プロパティの値です。

ComboBox1.ListIndex = 0	'コンボ ボックスを最初の項目に設定します。

ComboBox1.Left = 18

ComboBox1.Top = 36

ComboBox1.Width = 90

ComboBox1.ListWidth = 90

' CommandButton1 を初期化します。

CommandButton1.Left = 230

CommandButton1.Top = 36

CommandButton1.Height = 120

CommandButton1.Width = 120

' メモ: 参照するビットマップが現在使用しているシステム上にあるかどうか、

' ファイル名にパスが含まれているかどうかを確認します。

CommandButton1.Picture = LoadPicture("c:\windows\しゃぼん玉.bmp")

CommandButton1.PicturePosition = ComboBox1.Value

End Sub

Private Sub ComboBox1_Click()

Select Case ComboBox1.Value

Case 0  '左/上

CommandButton1.Caption = "左/上"

CommandButton1.PicturePosition = fmPicturePositionLeftTop

Case 1  '左/中央

CommandButton1.Caption = "左/中央"

CommandButton1.PicturePosition = fmPicturePositionLeftCenter

Case 2  '左/下

CommandButton1.Caption = "左/下"

CommandButton1.PicturePosition = fmPicturePositionLeftBottom

Case 3  '右/上

CommandButton1.Caption = "右/上"

CommandButton1.PicturePosition = fmPicturePositionRightTop

Case 4  '右/中央

CommandButton1.Caption = "右/中央"

CommandButton1.PicturePosition = fmPicturePositionRightCenter

Case 5  '右/下

CommandButton1.Caption = "右/下"

CommandButton1.PicturePosition = fmPicturePositionRightBottom

Case 6  '左/上方

CommandButton1.Caption = "左/上方"

CommandButton1.PicturePosition = fmPicturePositionAboveLeft

Case 7  '中央/上方

CommandButton1.Caption = "中央/上方"

CommandButton1.PicturePosition = fmPicturePositionAboveCenter

Case 8  '右/上方

CommandButton1.Caption = "右/上方"

CommandButton1.PicturePosition = fmPicturePositionAboveRight

Case 9  '左/下方

CommandButton1.Caption = "左/下方"

CommandButton1.PicturePosition = fmPicturePositionBelowLeft

Case 10 '中央/下方

CommandButton1.Caption = "中央/下方"

CommandButton1.PicturePosition = fmPicturePositionBelowCenter

Case 11 '右/下方

CommandButton1.Caption = "右/下方"

CommandButton1.PicturePosition = fmPicturePositionBelowRight

Case 12 '中央

CommandButton1.Caption = "中央"

CommandButton1.PicturePosition = fmPicturePositionCenter

End Select

End Sub


ワークシートの連結の使用例

次の例は、リスト ボックス (ListBox) コントロール内のワークシートのセルの範囲を使用します。ユーザーがリストから行を選択すると、他のワークシートのセル内に行のインデックスを表示します。この例では、RowSource プロパティ、BoundColumn プロパティおよび ControlSource プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウに貼り付けます。フォームには次のものが含まれている必要があります。

•	リスト ボックス (ListBox) コントロール (ListBox1)

•	ワークシート内の A1:E4 の範囲のセルにデータを入力してください。ただし、セル A6 にはデータを入力しないでください。

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 5

ListBox1.RowSource = "A1:E4"

ListBox1.ControlSource = "A6"

ListBox1.BoundColumn = 0 	'ListIndex プロパティはセル A6 になります。

End Sub


テキスト選択関連のプロパティの使用例

次の例は、選択に関連するプロパティ (SelLength プロパティ、SelStart プロパティ、および SelText プロパティ) の値を追跡します。これらのプロパティの値はユーザーがカーソル位置を移動したり、キーボードを使用して選択部分を広げると変化します。Tab キーを使ってフォーカスを移動させると、テキスト ボックス コントロールにプロパティの値が設定されます。この例では、Enabled プロパティおよび EnterFieldBehavior プロパティも使用します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	1 つの大きなテキスト ボックス (TextBox) テキスト ボックス (TextBox) コントロール (TextBox1)

•	横に並べて配置した 3 つのテキスト ボックス (TextBox) コントロール (TextBox2 ～ TextBox4)

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.SelStart

TextBox3.Text = TextBox1.SelLength

TextBox4.Text = TextBox1.SelText

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

TextBox1.Text = "ここにﾃｷｽﾄを入力してください。改行するには、Ctrl + Enter ｷｰを押してください。"

End Sub


Controls コレクションからコントロールを操作する使用例

次の例は、For Each...Next ループを使用して、Controls コレクションから各コントロールを操作します。コマンド ボタン (CommandButton1) をクリックすると、ほかのコントロールが Move メソッドを使用してフォームの左端に沿って一列に整列されます。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	いくつかのほかのコントロール

Dim CtrlHeight As Single

Dim CtrlTop As Single

Dim CtrlGap As Single

Private Sub CommandButton1_Click()

Dim MyControl As Control

CtrlTop = 5

For Each MyControl In Controls

If MyControl.Name = "CommandButton1" Then

'このコントロールは移動または大きさの変更を行わないでください。

Else

'名前付き引数を指定して Move メソッドを使用します。

MyControl.Move Top:=CtrlTop, Height:=CtrlHeight, Left:=5

'引数 (left, top, width, height) を指定して Move メソッドを使用します。

'MyControl.Move 5, CtrlTop, ,CtrlHeight

'次のコントロールの上端の座標を計算します。

CtrlTop = CtrlTop + CtrlHeight + CtrlGap

End If

Next

End Sub

Private Sub UserForm_Initialize()

CtrlHeight = 20

CtrlGap = 5

CommandButton1.Caption = "ｸﾘｯｸするとｺﾝﾄﾛｰﾙが移動します"

CommandButton1.AutoSize = True

CommandButton1.Left = 120

CommandButton1.Top = CtrlTop

End Sub


Cycle プロパティの使用例

次の例は、フレーム (Frame) コントロールおよびマルチ ページ (MultiPage) コントロール内の 2 つの Page オブジェクトに対して Cycle プロパティを定義します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	フレーム (Frame) コントロール (Frame1)

•	2 つのオブジェクト (Page1 および Page2) を含むマルチ ページ (MultiPage) コントロール (MultiPage1)

•	2 つのコマンド ボタン (CommandButton) コントロール (CommandButton1 および CommandButton2)

フォーム、フレーム (Frame) コントロール、およびマルチ ページ (MultiPage) コントロール内の各 Page オブジェクトには、それぞれ 2 つのコントロールを配置します。これらのコントロールにより、フレーム (Frame) コントロールおよびマルチ ページ (MultiPage) コントロールのタブ オーダーに Cycle プロパティがどのように影響するのかを確認することができます。

Cycle プロパティがタブ オーダーにどのように影響するのかを調べるには、コントロールをタブを使って移動する必要があります。コマンド ボタン (CommandButton1) をクリックすると、タブ オーダーが拡張されてフレーム (Frame) コントロールおよび Page オブジェクト内のコントロールがタブ オーダーに含まれます。コマンド ボタン (CommandButton2) をクリックすると、タブ オーダーが制限されます。

Private Sub RestrictCycles()

' Frame オブジェクトおよび Page オブジェクトのタブ オーダーを制限します。

    Frame1.Cycle = fmCycleCurrentForm

    MultiPage1.Page1.Cycle = fmCycleCurrentForm

    MultiPage1.Page2.Cycle = fmCycleCurrentForm

End Sub

Private Sub UserForm_Initialize()

RestrictCycles

End Sub

Private Sub CommandButton1_Click()

' タブ オーダーを Frame オブジェクトおよび Page オブジェクトに対して拡張します。

    Frame1.Cycle = fmCycleAllForms

    MultiPage1.Page1.Cycle = fmCycleAllForms

    MultiPage1.Page2.Cycle = fmCycleAllForms

End Sub

Private Sub CommandButton2_Click()

RestrictCycles

End Sub


Controls コレクションでの Move メソッドの使用例

次の例は、Controls コレクションと共に Move メソッドを使用して、フォーム上のすべてのコントロールを移動する方法を示します。コマンド ボタン (CommandButton) コントロールをクリックすると、コントロールが移動します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	いくつかのほかのコントロール

Private Sub CommandButton1_Click()

    ' フォーム上の各コントロールを右に 25 ポイント、上に 25 ポイント移動します。

Controls.Move 25, -25

End Sub


Parent プロパティの使用例

次の例は、Parent プロパティを使用して、特定のコントロールを含むコントロールまたはフォームを参照します。

この例を使用するには、下のコードをフォーム モジュールのコード ウィンドウにコピーします。フォームには次のものが含まれている必要があります。

•	2 つのラベル (Label) コントロール (Label1 および Label2)

•	コマンド ボタン (CommandButton) コントロール (CommandButton1)

•	1 つ以上の任意のコントロール

Dim MyControl As Object

Dim MyParent As Object

Dim ControlsIndex As Integer

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    CommandButton1.Caption = "ｺﾝﾄﾛｰﾙ (Label1) と親ｵﾌﾞｼﾞｪｸﾄ (Label2) を取得する"

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

End Sub

Private Sub CommandButton1_Click()

    ' UserForm の Controls コレクションを処理します。

    Set MyControl = Controls.Item(ControlsIndex)

    Set MyParent = MyControl.Parent

    Label1.Caption = MyControl.Name

    Label2.Caption = MyParent.Name

    'Userform 上の次のコントロールのインデックスを準備します。

    ControlsIndex = ControlsIndex + 1

    If ControlsIndex >= Controls.Count Then

        ControlsIndex = 0

    End If

End Sub