Microsoft Visual Basic Version 4.0 の紹介

	ボタンの使い方		メニュー
	Visual Basic の概要		アプリケーションのデバッグ
	アプリケーションの作成		データベースのアクセス
	イベント ドリブン プログラム		OLE オートメーション オブジェクト
	フォームとコントロール		色とグラフィックス


ボタンの使い方

このヘルプでは、次のボタンをクリックして項目を移動します。

	次の項目を表示します。
	前の項目を表示します。
	メイン メニューに戻ります。


  Visual Basic の概要

Visual Basic では、グラフィカル アプリケーションをデザインするための便利なツールを提供しています。このレッスンでは、次の内容について紹介します。

プロジェクト	Visual Basic 言語
フォームおよびコントロール	メニュー バー
モジュール	カラー パレット


  Visual Basic の概要

アプリケーションを構成するフォーム モジュール、標準モジュール、クラス モジュール、およびリソース ファイル全体を指して“プロジェクト”と呼びます。プロジェクト ウィンドウには、アプリケーションに必要なすべてのファイルが表示されます。


  Visual Basic の概要

“フォーム”には、そのフォームに配置されたコントロールやプログラムが記述されています。フォーム モジュールまたは標準モジュールにプログラムを記述し、Public プロシージャを宣言して、プロジェクト全体でプログラムを共有することができます。


  Visual Basic の概要

フォームには、アプリケーションのインターフェイスの役割があります。各フォームは、コントロール、グラフィックス、または他のフォームを表示するウィンドウとなります。


  Visual Basic の概要

フォームには多くの用途があります。


  Visual Basic の概要

フォーム上に配置するボタン、ラベルなどのツールをコントロールと呼びます。コントロールは、データの入力や表示を行います。また、コントロールには、分かりやすいインターフェイスを作る役割があります。

フォーム上にコントロールを配置するには、ツール ボックスを使います。


  Visual Basic の概要

プロパティ ウィンドウを使って、フォームおよびコントロールのプロパティを設定します。プロパティには、サイズ、名前、位置などの特性を設定します。

プロパティ ウィンドウには、現在選択されているモジュールまたはコントロールのプロパティと設定内容が表示されます。


  Visual Basic の概要

アプリケーションに複数のコマンドが必要な場合は、メニュー バーのコマンドをグループ化することができます。

フォームをボタンで一杯にする代わりに...	...フォーム上部のメニュー バーにコマンドをまとめることができます。


  Visual Basic の概要

フォームのメニューは、メニュー エディタを使って作成します。

[ツール] - [メニュー エディタ] コマンドを選択するか、ツールバーの <メニュー エディタ> ボタンをクリックしてメニュー エディタを表示します。


  Visual Basic の概要

Visual Basic では、48 色の標準色を持つカラー パレットを提供しています。これを使って、フォームに色を付けることができます。Visual Basic では、256 色、Hi-Color (約 32,000色)、True-Color (約 1,600万色) の各システムに対応した色を利用することができます。


  Visual Basic の概要

ユーザーの操作またはシステムのイベントに応じてアプリケーションを実行させるために、フォームおよびコントロールのイベント プロシージャにプログラムを記述します。


  Visual Basic の概要

Visual Basic Version 4.0 には、Visual Basic Applications Edition が含まれています。このVisual Basic Applications Edition は、Microsoft Excel、Microsoft Project などの Microsoft Office アプリケーションで使用されている言語と同じです。この言語の特徴は、次のとおりです。

If...Then...Else ブロック	ループ
	If Pop > 0 And GNP > 0 Then    Income = GNP / Pop Else    Income = 0 End If		Do While I <= 50    Print I    I = I + 1 Loop
11 個のデータ型	多数の数学および文字列関数
	整数型　　　　　　　通貨型 長整数型　　　　　　文字列型 単精度浮動小数点型　ブール型 倍精度浮動小数点型　オブジェクト型 バリアント型　　　　ユーザー定義型 バイト型		Abs(Rate) Print UCase(Country) MySqr = Sqr(4) MyStr = Right(AnyString, 6)


  Visual Basic の概要

アプリケーションの開発を容易にするために、Visual Basic では以下を機能を提供しています。

自動構文チェック

Visual Basic では、構文にエラーが含まれているとメッセージが表示されます。


  Visual Basic の概要

アプリケーションの開発を容易にするために、Visual Basic では以下を機能を提供しています。

自動構文チェック

デバッグ ツール


  Visual Basic の概要

アプリケーションの開発を容易にするために、Visual Basic では以下を機能を提供しています。

自動構文チェック

デバッグ ツール

デバッグ ウィンドウ


  Visual Basic の概要

Visual Basic のツールバーには、多くのデザイン コマンドおよびデバッグ コマンドが割り当てられています。ボタンを押すだけで簡単にコマンドを実行することができます。


  Visual Basic の概要

Visual Basic のフォーム、ツール、およびプログラミング言語を組み合わせて、優れたアプリケーションを効率よく簡単に作ることができます。


  Visual Basic の概要

ここでは、Visual Basic の開発環境について紹介しました。

他の項目では、Visual Basic を使ったアプリケーションの作り方について紹介します。


  Visual Basic の概要


  イベントドリブン プログラム

ここでは、次の内容について紹介します。

イベントドリブン プログラミング

イベント プロシージャ

イベントの構文


  イベントドリブン プログラム

Visual Basic アプリケーションのユーザー インターフェイスは、オブジェクト、つまりユーザーが情報を入力したり、表示できるフォームおよびコントロールで構成されています。各オブジェクトは、ユーザーがボタンをクリック、フォームを開く、またはフィールドに入力するなどの操作を認識します。こうした操作を、“イベント”と呼びます。


  イベントドリブン プログラム

アプリケーションでイベントが発生すると、Visual Basic は自動的にそのイベントを認識して、記述されたプログラムを実行します。このプログラムを“イベント プロシージャ”と呼びます。


  イベントドリブン プログラム

イベント プロシージャ名は、オブジェクト名とイベント名で構成されます。オブジェクト名は、フォームまたはコントロールの Name プロパティで設定されます。イベント プロシージャには、複数のステートメントを記述することができます。


  イベントドリブン プログラム

Visual Basic のフォームおよびコントロールは、定義済みのイベントに対応します。たとえば、コマンド ボタンは次のイベントを認識します。

イベント	アクション
Click	ボタンがマウスまたはキーボードで選択されました。
DragDrop	ほかのオブジェクトがボタンの上にドロップされました。
DragOver	ほかのオブジェクトがボタンの上をドラッグされました。
GotFocus	ボタンがフォーカスを得ました。
KeyDown	ボタンがフォーカスを持っている間にキーが押されました。
KeyPress	キーが押されて、キーの ASCII コードが渡されました。
KeyUp	ボタンがフォーカスを持っている間にキーが離されました。
LostFocus	ボタンがフォーカスを失いました。
MouseDown	マウス ボタンがボタンの上で押されました。
MouseMove	マウス ポインタがボタンの上を移動されました。
MouseUp	マウス ボタンがボタンの上で離されました。


  イベントドリブン プログラム

object.property 表記を使って、コントロールとそのプロパティをコードで参照します。たとえば、テキスト ボックスに表示されているテキストを参照する構文は次のようになります。


  イベントドリブン プログラム

イベント プロシージャはイベントが発生したときにだけ実行され、イベントが発生していないときには、Visual Basic はアイドル状態となります。たとえば、次のプロシージャは、[OK] ボタンをクリックしたとき、または Enter キーを押したときにだけ実行されます。


  イベントドリブン プログラム

[OK] ボタンをクリックすると、このイベント プロシージャのプログラムが実行されます。ボタンがクリックされるたびに、イベント プロシージャは実行されます。

イベント プロシージャには、そのイベントで実行する処理だけを記述します。


  イベントドリブン プログラム

どのイベントに対してプログラムを記述するかは、ユーザーが何を実行し、どのような処理を行うかを考慮して決定します。

たとえば、ユーザーが [OK] ボタンを選択したときに、テキスト ボックスの内容をチェックする場合は、次のようにします。

[OK] ボタンをクリックすると、cmdOKButton_Click イベントが発生します。


  イベントドリブン プログラム

イベント プロシージャでは、次を処理を行うこともできます。

ほかのイベント プロシージャを呼び出します。


  イベントドリブン プログラム

イベント プロシージャでは、次を処理を行うこともできます。

ほかのイベント プロシージャを呼び出します。

オブジェクトのプロパティを変更します。


  イベントドリブン プログラム

イベント プロシージャでは、次を処理を行うこともできます。

ほかのイベント プロシージャを呼び出します。

オブジェクトのプロパティを変更します。

どのイベントにも関連していない、ほかの標準プロシージャを呼び出します。


  イベントドリブン プログラム

ここでは、次の内容について紹介しました。

イベントドリブン プログラミング

イベント プロシージャ

イベントの構文

イベントドリブン プログラミングの詳細については、このヘルプの「アプリケーションのデバッグ」または『プログラミング ガイド』の「第 5 章 プログラミングの基礎」を参照してください。


  イベントドリブン プログラム


  アプリケーションの作成

ここでは、Visual Basic を使ったアプリケーションの作り方を紹介します。

次のサンプル アプリケーションは、華氏と摂氏の温度変換を行うアプリケーションです。


  アプリケーションの作成

温度変換アプリケーションは、次の要素で構成されています。


  アプリケーションの作成

アプリケーションを作るには、次の 3 つの手順で行います。

1.	インターフェイスを作る。

2.	プロパティを設定する。

3.	プログラムを記述する。


  アプリケーションの作成

1.	インターフェイスを作る

アプリケーションを作るには、まず新しいプロジェクトを開きます。

新しいプロジェクトを開くには、[ファイル] メニューの [新規プロジェクト] コマンドを選択します。


  アプリケーションの作成

新しいプロジェクトには、必ずフォームが 1 つ含まれています。アプリケーションに必要な数だけフォームを追加することができます。

温度変換アプリケーションで、必要なフォームは 1 つだけです。


  アプリケーションの作成

次に、ツールボックスから必要なツールを選択し、フォームにコントロールを配置します。

このアプリケーションでは、テキスト ボックス コントロールを使って文字列の入力や表示を行います。


  アプリケーションの作成

コントロールを配置するには、ツールボックスからツールを選択し、左のマウス ボタンを押したままフォーム上にドラッグします。

ツールをダブルクリックするか、またはツールを選択して Enter キーを押すと、標準の大きさのコントロールを作ることができます。


  アプリケーションの作成

華氏温度用と摂氏温度用に 2 つのテキスト ボックス コントロールを作ります。

それぞれのテキスト ボックス コントロールの内容を表示するには、ラベル コントロールを使います。ラベル コントロールは、アプリケーションのユーザーが内容を変更できないコントロールです。


  アプリケーションの作成

2.	プロパティを設定する

コントロールのプロパティをプロパティ ウィンドウで設定します。

フォームまたはコントロールを選択すると、そのプロパティと設定内容がプロパティ ウィンドウに表示されます。


  アプリケーションの作成

Name プロパティは、コントロールをプログラムから参照するときに使うコントロールの名前です。ここでは、このテキスト ボックス コントロールの名前を“txtCels”に設定します。


  アプリケーションの作成

Caption プロパティは、コントロールに表示する文字列を指定します。ラベル コントロールの Caption プロパティに“摂氏”を設定します。


  アプリケーションの作成

同じように、もう一方のテキスト ボックス コントロールの Name プロパティに“txtFahr”を、そのラベル コントロールの Caption プロパティに“華氏”を設定します。


  アプリケーションの作成

3.	プログラムを記述する

次に、ユーザーの操作に対応したアプリケーションの動作を記述します。


  アプリケーションの作成

コントロールをダブルクリックすると、コード ウィンドウが表示されます。選択したコントロールの既定のイベント プロシージャが表示されます。

また、コントロール名が [オブジェクト] ボックスに表示されます。


  アプリケーションの作成

[プロシージャ] ボックスには、コントロールのイベントの一覧が表示されます。

アプリケーションのユーザーがキーを押したときに、このアプリケーションのプログラムを実行させたいので、[プロシージャ] ボックスから KeyPress イベントを選択します。

KeyPress イベント プロシージャが表示されます。


  アプリケーションの作成

温度を変換するには、次の数式を使用します。

Cels = (Fahr - 32) * 5/9

Fahr = (Cels * 9/5) + 32

次に、イベント プロシージャのプログラムを記述します。


  アプリケーションの作成

同じように、もう一方のテキスト ボックス コントロールのイベント プロシージャも記述します。


  アプリケーションの作成

アプリケーションを作り終えたら、プロジェクトを保存します。

[ファイル] メニューの [プロジェクトの上書き保存] コマンドを選択します。[名前を付けてファイルの保存] ダイアログ ボックスで、プロジェクトの名前を入力し、[OK] ボタンを選択してプロジェクトを保存します。


  アプリケーションの作成

作り終えたアプリケーションを実行するには、[実行] メニューの [開始] コマンドを選択するか、またはツールバーの <開始> ボタン ( [image] ) をクリックします。

デバッグ機能を使ってアプリケーションの問題点を発見し、修正することもできます。


  アプリケーションの作成

アプリケーションを実行し、数値を入力して Enter キーを押すと、華氏から摂氏または摂氏から華氏へ温度の変換が行われます。


  アプリケーションの作成

アプリケーションが正しく動作したら、実行可能ファイルを作ります。実行可能ファイルを作ると、Visual Basic の開発環境がなくてもアプリケーションを実行することができます。

プロジェクトから実行可能ファイルを作るには、[ファイル] メニューの [EXE ファイルの作成] コマンドを選択します。


  アプリケーションの作成

ここでは、簡単なアプリケーションの作り方を紹介しました。

1.	インターフェイスを作る

2.	プロパティを設定する

3.	プログラムを記述する

ほかの項目では、Visual Basic アプリケーションについてさらに詳しく紹介します。

詳細については、『プログラミング ガイド』の「第 2 章 はじめての Visual Basic」を参照してください。


  アプリケーションの作成


  OLE オートメーション オブジェクト

ここでは、オブジェクトおよび OLE オートメーション オブジェクトについて紹介します。


  OLE オートメーション オブジェクト

Visual Basic を含む多くの Windows アプリケーションは、いろいろな種類のオブジェクトで構成されています。オブジェクトとは、コードとデータを組み合わせて 1 つの単位として考えたもので、コントロールやフォームと同様にアプリケーションの一部です。ただし、アプリケーション全体をオブジェクトと考えることもできます。

たとえば、オブジェクトには次のものがあります。

フォーム	データベース	グラフ
コマンド ボタン


  OLE オートメーション オブジェクト

オブジェクトは、特定の目的のためにデザインされたプログラムと考えることができます。したがって、いろいろな種類のオブジェクトを組み合わせてアプリケーションを作成することができます。


  OLE オートメーション オブジェクト

オブジェクトはクラスで定義されます。クラスでは、オブジェクトの特性が定義されます。Visual Basic では、プロパティ ウィンドウにオブジェクトのクラス名が表示されます。


  OLE オートメーション オブジェクト

Visual Basic では、開発するアプリケーションに使うことのできるいろいろな種類のオブジェクトが、あらかじめ定義されています。ただし、既存のクラスでは実現できない機能が必要な場合があります。この場合、Visual Basic のクラス モジュールを使って新しい種類のクラスまたはオブジェクトを定義することができます。

クラス モジュールを使って独自のオブジェクトを定義し、そのオブジェクトのプロパティやメソッドを作ることができます。これらのプロパティやメソッドはクラスのメンバになります。新しく定義したクラスは、開発するアプリケーションだけに使うことも、他のアプリケーションからアクセスできるようにすることもできます。


  OLE オートメーション オブジェクト

たとえば、開発中のアプリケーションに作業手順を管理するオブジェクト (WorkOrder) が必要な場合、まず、プロジェクトにクラス モジュールを挿入します。次に、プログラムを記述して作業手順の管理や特性に必要なプロパティとメソッドを作ります。


  OLE オートメーション オブジェクト

Visual Basic Version 4.0 では、Visual Basic で開発するアプリケーションから他のアプリケーションのオブジェクトを使うことができます。


  OLE オートメーション オブジェクト

他のアプリケーションから提供されるオブジェクトを OLE オートメーション オブジェクトと呼びます。OLE オートメーション オブジェクトも、Visual Basic に用意されているオブジェクトと同じように処理することができます。たとえば、次の処理を実行できます。

プロパティの値の設定

プロパティの値の取得

オブジェクトのメソッドの呼び出し


  OLE オートメーション オブジェクト

Visual Basic では、OLE オートメーションを使って他のアプリケーションと情報をやり取りします。OLE オートメーションは、複数のアプリケーションがオブジェクトを共有できる共通の方法を提供します。オブジェクトを提供するアプリケーションを“OLE サーバー”と呼びます。また、オブジェクトを使用するアプリケーションを“クライアント アプリケーション”と呼びます。


  OLE オートメーション オブジェクト

オブジェクト ライブラリが含まれているオブジェクトは、Visual Basic から簡単に使うことができます。このようなオブジェクトを使うには、まず、[ツール] メニューの [参照設定] コマンドを選択します。


  OLE オートメーション オブジェクト

オブジェクト ライブラリが一覧に表示されている場合、オブジェクト名の左側のチェック ボックスをオンにします。表示されていない場合は、[参照] ボタンを選択し、ファイル名に .TLB または .OLB の拡張子がついたファイルを検索します。また、.EXE または .DLL の拡張子がついたファイルにもオブジェクト ライブラリが含まれている場合があります。これらのファイルを検索することもできます。


  OLE オートメーション オブジェクト

オブジェクト ライブラリの参照を設定すると、オブジェクト ブラウザを使って、オブジェクト ライブラリに定義されているオブジェクトを表示することができます。さらに、それぞれのオブジェクトに関連するプロパティやメソッドも表示することができます。


  OLE オートメーション オブジェクト

OLE オートメーション オブジェクトを使うには、次のように処理します。

1.	オブジェクト型の変数を作ります。

2.	新規または既存のオブジェクトを参照するために変数を設定します。

3.	オブジェクトのプロパティおよびメソッドを使って処理を行うコードを記述します。

4.	処理を行った後にオブジェクトを解放します。


  OLE オートメーション オブジェクト

1.	オブジェクト型の変数を作ります。

オブジェクト型の変数は、次のように宣言します。

Dim objX As Object


  OLE オートメーション オブジェクト

2.	新規または既存のオブジェクトを参照するために変数を設定します。

クラスのインスタンスを新しく作る場合は、CreateObject 関数を使います。たとえば、次のように、新しく Microsoft Excel の Worksheet オブジェクトを作ります。

Set objX = CreateObject("Excel.Sheet")

Microsoft Excel の Worksheet オブジェクトが既にファイルとして保存されている場合は、GetObject 関数を使ってファイルを読み込みます。たとえば、次のように、既存の Microsoft Excel の Worksheet オブジェクトの参照を設定します。

Set objX = GetObject("C:\EXCEL\REVENUE.XLS")

これで、他のアプリケーションで提供されるオブジェクトを参照できます。


  OLE オートメーション オブジェクト

3.	処理を行うコードを、オブジェクトのプロパティおよびメソッドを使って記述します。

他のアプリケーションのオブジェクトは、Visual Basic に用意されているコントロールと同じように使うことができます。たとえば、次のように、Microsoft Excel の Worksheet オブジェクトを参照する objX 変数と共に、ワークシートのプロパティおよびメソッドを使ってワークシートのセルにデータを追加することができます。

objX.Application.Visible = True

For i = 1 to 10

objX.Cells(i,i).Value = i

Next i

Microsoft Excel の Worksheet オブジェクトは、表示要素を含むオブジェクトです。このような表示要素を含むオブジェクトは、他のアプリケーションのオブジェクトでもフォームに配置することができます。データ アクセス オブジェクトなどの表示要素を持たないオブジェクトは、フォームに配置することはできません。ただし、Visual Basic のコードから参照したり、操作することができます。


  OLE オートメーション オブジェクト

4.	処理を行った後にオブジェクトを解放します。

処理中のオブジェクトは、メモリなどの資源も使います。オブジェクトの処理が終わったら、そのオブジェクトを参照する変数をクリアしてオブジェクトをメモリから解放します。オブジェクトをクリアするには、次に示すように Nothing を設定します。

Set objX = Nothing


  OLE オートメーション オブジェクト

ここでは、オブジェクトおよび OLE オートメーションについて紹介しました。

オブジェクトの使用および OLE オートメーションの詳細については、『プログラミング ガイド』の「第 7 章 オブジェクト」および「第 9 章 他のアプリケーションのオブジェクトの利用」を参照してください。


  OLE オートメーション オブジェクト


  データベースのアクセス

Visual Basic には、Microsoft Access で使われているデータベース エンジンと同じ Microsoft Jet データベース エンジンが組み込まれています。Visual Basic では、このエンジンを使って、各種データベースの情報表示、編集、および更新を行うことができます。

Standard Edition では、データ コントロールを使用して既存のデータベースにアクセスできます。

Professional Edition および Enterprise Edition では、データ アクセス オブジェクトを使ってデータベースの作成や修正を行うこともできます。


  データベースのアクセス

データ コントロールを使うと、既存のデータベースに簡単にアクセスすることができます。フォームにデータ コントロールを追加するには、データ コントロールをダブルクリックします。


  データベースのアクセス

データ コントロールをフォームに追加したら、プロパティを設定します。

DatabaseName プロパティには、アクセスするデータベースを指定します。


  データベースのアクセス

ここでは、Visual Basic 4.0 と共に提供されるサンプル データベースを使用します。データベースの名前は、BIBLIO.MDB です。


  データベースのアクセス

RecordSource プロパティを設定します。[↓] ボタンをクリックしてデータベースに格納されているテーブルとクエリーの一覧を表示します。

ここでは、RecordSource プロパティを“Titles”に設定します。


  データベースのアクセス

次に、テキスト ボックスをフォームに追加します。データベースを表示するテキスト ボックスの場合、テキスト ボックスをデータ コントロールに結合します。


  データベースのアクセス

テキスト ボックスをデータ コントロールに結合するには、テキスト ボックスの DataSource プロパティにデータ コントロール名を設定します。

フォームに追加されているデータ コントロールが一覧表示されます。ここでは、1 つだけ表示されます。


  データベースのアクセス

テキスト ボックスに表示するフィールドを設定します。DataField プロパティの [↓] ボタンをクリックすると、現在の DataSource で利用可能なフィールドの一覧が表示されます。

ここでは、DataField プロパティを“Title”に設定します。


  データベースのアクセス

次に、フォームにラベルを追加し、キャプション プロパティを設定します。


  データベースのアクセス

さらに、2 つのテキスト ボックスと 2 つのラベルを追加します。これらのテキスト ボックスには、ISBN 番号と出版年を表示します。


  データベースのアクセス

アプリケーションを実行すると、テキスト ボックスには指定した 3 つのフィールドが表示されます。

データ コントロールのボタンをクリックすると、データベースのレコードをスクロールすることができます。


  データベースのアクセス

ここでは、データ コントロールの使い方について紹介しました。

データベース アクセスの詳細については、『プログラミング ガイド』の「第 22 章 データ コントロールのデータ アクセス機能」を参照してください。


  データベースのアクセス


  色とグラフィックス

Visual Basic では、色とグラフィックスをアプリケーションで簡単に操作することができます。

ここでは、次の内容について紹介します。

グラフィックスを使う

色を使う

プログラムでグラフィックスと色を変える

グラフィックスと色を使ったフォームのデザイン


  色とグラフィックス

グラフィックスを使うと、分かりやすくて使いやすいフォームを作成することができます。

フレームに他のコントロールを含めることができます。	ピクチャ ボックスやイメージ コントロールでは、ビットマップ、アイコン、またはメタファイルを表示することができます。
直線や図形をフォームに配置して情報を強調表示することができます。	Visual Basic のプログラムで、いろいろな形を描画することができます。


  色とグラフィックス

Visual Basic のグラフィックス メソッドを使って、アプリケーションにグラフィックスを描画することができます。グラフィックス メソッドによるグラフィックスの描画はプログラムで行われ、描画されたイメージはアプリケーションを実行したときだけ表示されます。


  色とグラフィックス

フォームやコントロールに色を付けると、分かりやすく使いやすいアプリケーションを作ることができます。


  色とグラフィックス

オブジェクトのカラー プロパティをプロパティ ウィンドウで設定します。


  色とグラフィックス

独自の色を定義し、それをカラー パレットに追加することができます。

1 度に 16 色までの独自の色を定義できます。


  色とグラフィックス

Visual Basic のプログラムを使って、イベントに対応したグラフィックスを表示することができます。


  色とグラフィックス

Visual Basic のプログラムを使って、アプリケーションの実行中にオブジェクトの色を変更することができます。


  色とグラフィックス

プログラムをイメージ コントロールまたはピクチャ ボックス コントロールに記述して独自のコマンド ボタンをデザインすることができます。


  色とグラフィックス

色とグラフィックスを効果的に使うと、より分かりやすく、より使いやすいアプリケーションを作ることができます。次の画面で、いくつかの基本的な方法を紹介します。


  色とグラフィックス

同じ種類のフィールドに同じ色を割り当てると、見やすいフォームになります。


  色とグラフィックス

フォームのセクション別に違う色を使うと、内容を区別しやすいフォームになります。


  色とグラフィックス

フォームをデザインするときに、使う色の数は最小限にとどめます。いくつか使う色を決めてデザインを統一すると、分かりやすいフォームになります。

すべてのフィールドのバックグラウンドに同じ色が使用されています。	フィールドごとに異なる色が使われていて、フォームが見にくくなっています。


  色とグラフィックス

色の使い方が重要になるアプリケーションをデザインする場合は、色見本帳を参照したり、デザイナーや設計者などの意見を取り入れながらアプリケーションの色を決めるのが効果的な方法です。


  色とグラフィックス

ここでは、Visual Basic の色とグラフィックスを使ったアプリケーションについて紹介しました。

グラフィックスの詳細については、『プログラミング ガイド』の「第 15 章 グラフィックス」を参照してください。


  色とグラフィックス


  フォームとコントロール

ここでは、次の内容について紹介します。

フォーム

コントロールの追加

プロパティの設定

イベント プロシージャの作成


  フォームとコントロール

Visual Basic で作るウィンドウまたはダイアログ ボックスを“フォーム”と呼びます。

フォームは、まず既定の位置に既定のサイズで表示されます。アプリケーションのデザインに合わせて、フォームの位置とサイズを変更することができます。


  フォームとコントロール

フォームには、“コントロール”と呼ばれるグラフィカル オブジェクトを配置することができます。コントロールには、ユーザーの入力を受け付けたり、処理の結果を表示することができます。

ツールボックスからツールを 1 つ選択してコントロールを配置します。


  フォームとコントロール

ツールボックスの各コントロールには、組み込みの機能があります。たとえば、テキスト ボックス コントロールでは、プログラムを記述しなくても、ユーザーは文字列の切り取りや貼り付けを行うことができます。

	ツールボックスの各コントロールをクリックすると、コントロールの詳細が表示されます。


  フォームとコントロール

Visual Basic に組み込まれている標準コントロールのほかに、マイクロソフト社や他社の“カスタム コントロール”を追加することができます。標準コントロールと同様に、カスタム コントロールにも組み込みの機能があります。

カスタム コントロールを追加するには、[ツール] - [カスタム コントロール] コマンドを選択します。


  フォームとコントロール

[カスタム コントロール] ダイアログ ボックスでは、利用可能なコントロールと Microsoft Excel Chart などの挿入可能なオブジェクトがすべて表示されます。これらのカスタム コントロールやオブジェクトは、左側のチェック ボックスをオンにしてツールボックスに追加することができます。


  フォームとコントロール

すべてのフォームおよびコントロールには、定義済みのプロパティがあります。これらのプロパティは、次の特性を設定します。

外観 [image] オブジェクトの色、サイズ、名前など。

動作 [image] ユーザーがオブジェクトを移動、サイズ変更、最小化または最大化を実行できるかどうかの指定など。


  フォームとコントロール

プロパティの初期値は、プロパティ ウィンドウを使って設定します。

プロパティ一覧には、選択したフォームまたはコントロールで利用可能なすべてのプロパティが表示されます。

各プロパティの隣に値を設定できます。

オブジェクト ボックスには、現在選択されているフォームまたはコントロールの名前が表示されます。


  フォームとコントロール

複数のコントロールの同じプロパティを設定する場合、各コントロールを同時に選択して共通のプロパティを設定します。

プロパティを設定するコントロールを、Shift キーを押したまま、それぞれクリックして選択します。

プロパティ ウィンドウには、選択したコントロールに共通のプロパティが表示されます。


  フォームとコントロール

フレーム コントロールを使用すると、コントロールを視覚的にグループ化することができます。

あるオブジェクトを別のオブジェクトの中に入れるには、まず最初にコンテナを作成し、その中にオブジェクトを配置する必要があります。


  フォームとコントロール

いくつかのコントロールで同じプログラムを共有する場合は、それらのコントロールを“コントロール配列”として作ります。コントロール配列は、オプション ボタンなど同じ名前を共有する同じ種類のコントロールをグループ化したもので、同じイベント プロシージャを共有することができます。


  フォームとコントロール

既に配置したコントロールと同じ名前でコントロールを作ろうとすると、コントロール配列を作るかどうかを確認するメッセージが表示されます。


  フォームとコントロール

コントロール配列の個々のコントロールを特定するには、インデックス値を使います。インデックス値は、プロシージャの引数として渡されます。次の例では、オプション ボタン配列の Click イベントで引数 Index As Integer として渡され、最初のオプション ボタンを Option 1(1)、2 番目のオプションをOption1(2)、以下同様に呼ぶことを示しています。


  フォームとコントロール

作成中のアプリケーションを実行するには、[実行] - [開始] コマンドを選択するか、ツールバーの <開始> ボタン ( [image] ) をクリックします。


  フォームとコントロール

ここでは、フォーム、コントロール、プロパティ、およびコントロール配列について紹介しました。

フォームのデザインについての詳細は、『プログラミング ガイド』の「第 2 章 初めての Visual Basic」および「第 3 章 コントロールの作成と利用」を参照してください。


  フォームとコントロール


 ポインタ

ポインタは、フォーム上の既存のコントロールを操作するために使います。ポインタを使って、フォームやコントロールの選択、移動、およびサイズの変更を行います。

ツールボックスでツールを選択し、マウス ポインタをフォーム上に移動すると、マウス ポインタの形が十字型に変わります。コントロールを配置すると、マウス ポインタはポインタの形に戻ります。


 ラベル コントロール

ラベル コントロールは、ユーザーが直接変更できない文字列を表示します。この文字列は、実行時にアプリケーションで変更することができます。

ラベル コントロールは、ユーザーの情報を表示することもできます。たとえば、ファイルをコピーする時間や進捗状況を表示することができます。


 ファイル リスト ボックス コントロール

ファイル リスト ボックス コントロールは、指定されたディレクトリのファイルを一覧表示します。ファイルの属性を基にファイル リストを表示し、その中からファイルを選択できます。

ファイル リスト コントロールをダイアログ ボックスの一部として使い、ファイルを開く処理に使うことができます。


 ディレクトリ リスト ボックス コントロール

ディレクトリ リスト ボックス コントロールは、指定されたドライブのディレクトリおよびパスを表示します。このコントロールを使って、ルートから選択したパスまでのディレクトリの階層リストを表示することができます。

ディレクトリ リスト ボックス コントロールをダイアログ ボックスの一部として使い、ファイルを開く処理に使うことができます。


 ドライブ リスト ボックス コントロール

ドライブ リスト ボックス コントロールは、利用可能なドライブを表示したり、ドライブを切り換える場合に使用します。ドライブ リスト ボックス コントロールは、ユーザーが利用できるドライブを一覧表示します。

ドライブ リスト ボックス コントロールをダイアログ ボックスの一部として使い、ファイルを開く処理に使うことができます。


 タイマー コントロール

タイマー コントロールは、アプリケーションの実行中に一定の間隔で動作する処理を行う場合に使います

たとえば、タイマー コントロールを使ってアプリケーションの時計表示を更新することができます。


 垂直スクロール バー コントロール

垂直スクロール バー コントロールは、情報の一覧や連続した情報を垂直に検索する場合に使います。垂直スクロール バー コントロールは、グラフィカルな値の表示や設定にも使います。

たとえば、垂直スクロール バー コントロールを温度変換アプリケーションに使って、温度変化を表示することができます。


 水平スクロール バー コントロール

水平スクロール バー コントロールは、情報の一覧や連続した情報を水平に検索する場合に使います。水平スクロール バー コントロールは、グラフィカルな値の表示や設定にも使います。

たとえば、水平スクロール バーを使って、音声を再生するアプリケーションの音量を設定したり、時間の経過を表示することができます。


 リスト ボックス コントロール

リスト ボックス コントロールにはスクロール可能な一覧が表示され、ユーザーはその中から 1 つまたは複数の項目を選択できます。

たとえば、名前の一覧をリスト ボックス コントロールに表示し、ユーザーが一覧から名前を選択することができます。


 コンボ ボックス コントロール

コンボ ボックス コントロールは、テキスト ボックスとリスト ボックスを組み合わせたコントロールです。ユーザーは、テキスト ボックスにテキストを直接入力するか、リスト ボックスから項目を選択するか、どちらかの方法で入力することができます。コンボ ボックスには、ドロップダウン コンボ ボックス、単純コンボ ボックス、およびドロップダウン リスト ボックスの 3 種類があります。

ドロップダウン コンボ ボックスやドロップダウン リスト ボックスを使うと、フォームの領域の節約になります。


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

オプション ボタン コントロールは、通常オプション ボタン グループからオプションを選択する場合に使います。オプション ボタンを選択すると、ボタンの中心が黒くなります。チェック ボックス グループの場合と異なり、グループから選択できるオプション ボタンは 1 つだけです。

たとえば、支払伝票を作成するアプリケーションで、オプション ボタン グループを使って、送り状に支払い方法 (現金、小切手、クレジット カード) を示すことができます。


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

チェック ボックス コントロールは、オン/オフを設定できるオプションに使います。ユーザーがオプションを選択すると、チェック ボックスに X のマークが表示されます。チェック ボックスを使って、ユーザーは Yes/No または True/False のオプションを選択することができます。

たとえば、チェック ボックス コントロールは、フォントの設定で、太字、斜体、下線などの中からいくつか組み合わせて選択するようなオプションに使うことができます。


 コマンド ボタン コントロール

コマンド ボタン コントロールは、ユーザーが選択すると処理を実行します。一般に、ユーザーはコマンド ボタンをクリックするか、または Space キーを押してコマンドを選択します。

[OK] ボタンと [Cancel] ボタンは、代表的なコマンド ボタンです。また、ユーザーが別のフォームを開くことができるコマンド ボタンを作ることもできます。


 フレーム コントロール

フレーム コントロールは、コントロールをフォーム上で機能別にグループ化します。また、オブジェクトは、他のコントロールと視覚的に区別するためにフレーム コントロールに配置されます。

オプション ボタン コントロールをフレーム コントロールに配置して、オプション ボタン グループを作ることができます。


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

テキスト ボックス コントロールは、ユーザーが文字列を入力したり、アプリケーションが文字列を表示できる領域です。テキスト ボックス コントロールには、1 行または複数行のテキスト行を入れることができます。

たとえば、セキュリティ システム アプリケーションで、テキスト ボックス コントロールを使用してユーザにパスワードの入力を要求することもできます。


 シェイプ コントロール

シェイプ コントロールは、円、正方形、楕円、長方形、丸みのある長方形、丸みのある正方形を表示します。グラフィックス メソッドとは異なり、シェイプ コントロールはデザイン時に実際に画面で見ることができます。

たとえば、シェープ コントロールとライン コントロールを使用して、ビルのレイアウト図を作成することができます。


 イメージ コントロール

イメージ コントロールは、ピクチャを表示できるグラフィカル コントロールです。このコントロールは、ピクチャ ボックス コントロールと似ていますが、ピクチャ ボックス コントロールに比べて使用するメモリが少なく、再描画速度が速くなります。ただし、このコントロールでは、ピクチャ ボックスのプロパティ、メソッド、イベントの一部しかサポートされません。

たとえば、会社のロゴのビットマップをイメージ コントロールに配置し、ユーザーがそれをクリックするとその会社についての情報が表示されるようにできます。


 ライン コントロール

ライン コントロールは、水平線、垂直線、斜線を表示します。ライン コントロールを使用して、フォーム上に直線を描くことができます。Line メソッドと異なり、ライン コントロールはデザイン時に画面で見ることができます。

直線を使用して、図の引き出し線を表示したり、フォームを分割することもできます。


 ピクチャ ボックス コントロール

ピクチャ ボックス コントロールは、フォームにグラフィックスを表示したり、グラフィックスをプログラムで描く場合に使います。ピクチャ ボックス コントロールは、ビットマップ、アイコン、またはメタファイルを表示することができます。

グラフィックス プロパティおよびメソッドを使って、ピクチャ ボックス コントロールでアニメーションを作ることもできます。


 OLE コンテナ コントロール

OLE コンテナ コントロールは、別の Windows アプリケーションのデータを Visual Basic アプリケーションに表示することができます。

実行時に、別のアプリケーションで作成したデータを OLE コンテナ コントロールで編集することができます。編集が終了し、アプリケーションを閉じると、更新されたデータがフォームの OLE コンテナに表示されます。


 グリッド コントロール

グリッド コントロールは、連続した行と列を表示します。行と列が交差する部分をセルと呼びます。セルには、文字列またはグラフィックスを挿入することができます。

グリッド コントロールを使用して、情報テーブルを表示することができます。


 コモン ダイアログ コントロール

コモン ダイアログ コントロールは、[ファイルを開く]、[ファイル名を付けて保存]、[印刷]、[色の設定]、[フォントの指定] などのダイアログ ボックスを表示することができます。

フォームにコモン ダイアログ コントロールを配置すると、このコントロールのサイズは自動的に変更されます。タイマ コントロールと同様に、コモン ダイアログ コントロールは実行時には画面に表示されません。


 データ コントロール

データ コントロールを使うと、多くの種類のデータベースの情報表示、編集、更新を行うアプリケーションを作ることができます。データ コントロールと共に連結コントロールを使うと、データベースのレコードの情報を表示することができます。

Visual Basic では、Microsoft Access と同じデータベース エンジンを内蔵してデータ アクセスを実現しています。


 DB コンボ ボックス コントロール

DB コンボ ボックス コントロールは、リスト ボックスとテキスト ボックスで構成されています。リストは、データ コントロールを使って自動的に埋めることができます。ユーザーはリストから項目を選択するか、テキスト ボックスに値を入力するができます。

DB コンボ ボックス コントロールを使用して、リストから選択した特定のテキスト データ フィールドの読み取り/書き込み処理を実行できます。


 DB グリッド コントロール

DB グリッド コントロールは、複数のレコードで構成されています。グリッドは、データ コントロールを使って自動的に埋めることができます。ユーザーは、グリッドから項目を選択するか、新しいレコードに値を入力することができます。

DB グリッド コントロールを使用して、特定のレコードセットの読み取り/書き込み処理を実行できます。


 DB リスト ボックス コントロール

DB リスト ボックス コントロールは、項目を一覧表示し、ユーザーはその中から項目を選択することができます。リストはデータ コントロールを使って自動的に埋めることができます。

DB リスト ボックス コントロールを使用して、リストから選択したデータ フィールドの読みとり/書き込み処理を実行できます。


  メニュー

ここでは、次の内容について紹介します。

メニュー エディタ

メニューおよびメニュー コマンド

メニュー デザイン ガイドライン


  メニュー

メニューは、メニュー名、メニュー コマンド、および区分線で構成されています。メニューのすべての部分がメニュー コントロールとして扱われます。


  メニュー

フォーム上にメニューを作るには、メニュー エディタを使います。

メニュー エディタを開くには、まずメニューを作るフォームを選択します。次に [ツール] メニューの [メニュー エディタ] コマンドを選択するか、またはツールバーの <メニュー エディタ> ボタンをクリックします。


  メニュー

メニューは、テキスト ボックス コントロールやコマンド ボタン コントロールなどと同じコントロールです。ほかのコントロールと同じように、メニューには定義済みのプロパティとイベントがあります。


  メニュー

メニュー コントロールを作ったり、メニュー コントロールのプロパティを設定するにはメニュー エディタを使います。

[キャプション] ボックス [image] [ファイル]、[編集] などのメニュー名または [開く]、[切り取り] などのメニュー コマンドを指定します。

[名前] ボックス [image] メニュー コントロールをプログラムから参照するときに使う名前を指定します。

[インデックス] ボックス [image] メニュー コントロールをコントロール配列の一部として扱う場合に、メニュー コントロールを識別する数値を指定します。


  メニュー

[キャプション] ボックスに設定する文字列はメニュー名です。この文字列はメニュー バーに表示されます。


  メニュー

文字の前にアンパサンド (&) を挿入すると、ユーザーはキーボードを使ってメニューを選択することができます。実行時には、この文字に下線が引かれます。


  メニュー

[名前] ボックスに設定する文字列は、メニュー コントロールの Name プロパティの設定と同じです。この文字列は、メニュー コントロールをプログラムから参照するときに使います。


  メニュー

キャプションと名前を入力したら、[次へ] ボタンをクリックするか、または Enter キーを押してメニュー コントロールを作成します。


  メニュー

新しい行が強調表示されて、それぞれのテキスト ボックスが初期化されます。次のメニュー コントロールのキャプションおよび名前を入力できます。


  メニュー

メニュー コントロールをメニュー名ではなくメニュー コマンドにするには、メニュー エディタの下部でインデントします。メニュー コントロールをインデントするには、インデントする項目を選択し、[→] ボタンをクリックします。


  メニュー

ここまでの操作で、[ファイル] メニューに、[終了] コマンドが追加されました。


  メニュー

2 番目のメニュー名“国”をメニュー バーに追加し、[国] メニューに、メニュー コマンド“次の国”を追加します。


  メニュー

メニュー エディタを閉じると、メニューは自動的にフォームに表示されます。

アプリケーションのユーザーがメニュー コマンドを選択すると、そのメニュー コントロールの Click イベントが呼び出されます。メニュー コマンドの動作を、それぞれのメニュー コントロールのイベント プロシージャに記述します。


  メニュー

イベント プロシージャはコード ウィンドウで記述します。

コード ウィンドウを開くには、次のいずれかの操作を行います。

[表示] メニューの [コード] コマンドを選択します。

プロジェクト ウィンドウの [コード] ボタンをクリックします。

F7 キーを押します。


  メニュー

[終了] コマンドの Name プロパティは“mnuFileExit”と設定されています。Name プロパティは、コントロールをプログラムから参照するときに使います。

このメニュー コマンドの Click イベント プロシージャの名前は、“mnuFileExit_Click()”となります。


  メニュー

アプリケーションの [終了] コマンドに対応するプログラムを記述します。プログラムは、コード ウィンドウで、Sub ステートメントで始まり End Sub ステートメントで終わる形式で記述します。


  メニュー

記述したプログラムでは、ユーザーが [ファイル] メニューの [終了] コマンドを選択すると、アプリケーションを終了します。


  メニュー

メニューは、次の標準メニュー デザイン ガイドラインに従って作ります。

メニューの中で関連するコマンドを、アプリケーションのユーザーが使いやすいようにグループ化します。

また、Microsoft Windows に慣れているユーザーには、[ファイル] メニューに、[新規作成]、[開く]、および [終了] コマンドがあると使いやすくなります。既存の Windows アプリケーションを参考にしてください。

メニュー コマンドが多い場合は、関連するコマンドを区分線で区切ります。区分線を作るには、メニュー エディタの [キャプション] ボックスにハイフン ( - ) を設定します。


  メニュー

ここでは、メニュー エディタを使って Visual Basic アプリケーションのメニューを作る方法を紹介しました。

メニューの作り方の詳細については、『プログラミング ガイド』の「第 10 章 メニュー」を参照してください。


  メニュー


  アプリケーションのデバッグ

ここでは次の内容について説明します。

コンパイル エラー

実行時エラー

論理エラー

Visual Basic デバッグ ツール


  アプリケーションのデバッグ

どんなに注意してプログラムを記述してもミスを防ぐことはできません。


  アプリケーションのデバッグ

プログラムを記述するときには、次の点に注意します。

コンパイル エラー  [image]  間違って記述されたコードによる誤り

実行時エラー  [image]  プログラムを実行中に Visual Basic が検出できる誤り

論理エラー  [image]  間違った結果になったり、プログラムが期待した処理を実行できない誤り


  アプリケーションのデバッグ

Visual Basic では、アプリケーションをコンパイルする前にこれらの問題を検出するための機能を提供します。


  アプリケーションのデバッグ

コンパイル エラー

コンパイル エラーは、Visual Basic 言語の規則に反するプログラムを記述した場合に発生します。コンパイル エラーには、構文エラーも含まれます。


  アプリケーションのデバッグ

Visual Basic では、コード ウィンドウにコードを入力したあと、挿入ポインタを別の行に移動すると、構文がチェックされます。エラーが見つかると、エラー メッセージが表示されます。


  アプリケーションのデバッグ

エラーが発生した部分に挿入ポインタを移動するか、Esc キーを押してエラーが発生した部分に戻ります。また、F1 キーを押してエラー情報を表示することができます。


  アプリケーションのデバッグ

変数名の入力ミスを防止する方法として、Option Explicit ステートメントを使う方法があります。

Option Explicit ステートメントを使うと、変数を使う前に必ず変数の宣言が必要になります。


  アプリケーションのデバッグ

[ツール] - [オプション] コマンドを選択し、[環境] タブの [変数の宣言を強制する] チェック ボックスをオンにすると、Option Explicit ステートメントを記述しなくても、すべてのモジュールで変数の宣言が必要になります。


  アプリケーションのデバッグ

実行時エラー

実行時エラーを見つけるには、実際にアプリケーションを実行する必要があります。


  アプリケーションのデバッグ

アプリケーションを実行して、実行結果を調べます。

Visual Basic では、プログラムのエラーを検出すると、実行を停止します。


  アプリケーションのデバッグ

エラーを検出すると、エラーの種類を示すエラー メッセージが表示されます。<デバッグ> ボタンをクリックするとコード ウィンドウが表示され、エラーが発生したプログラムを確認することができます。


  アプリケーションのデバッグ

デバッグ ウィンドウでは、エラーが発生したプログラムがボックスで囲まれて表示されます。


  アプリケーションのデバッグ

ここでは、正しいファイル名が入力されていなかったために、ファイルを開くことができませんでした。エラーを訂正後、アプリケーションを継続して実行できます。


  アプリケーションのデバッグ

定数の変更、新しいプロシージャの追加などアプリケーションを変更した場合は、アプリケーションを再起動する必要があります。


  アプリケーションのデバッグ

論理エラー

論理エラーは見つけることが難しいエラーです。アプリケーションが正しく動作しない場合、論理エラーを起こしていると考えられます。


  アプリケーションのデバッグ

論理エラーは、変数名の入力ミスや非宣言によるエラーのように単純な場合もありますが、正しい構文でも期待した結果が得られないような複雑な場合もあります。


  アプリケーションのデバッグ

ブレークポイントを設定すると、アプリケーションの実行が一時中断します。プログラムを実行順序に従って調べることで、論理的な問題が見つかりやすくなります。


  アプリケーションのデバッグ

ブレークポイントを挿入するには、実行を中断したいコード行に挿入ポインタを移動します。次に [実行] - [ブレークポイントの設定/解除] コマンドを選択するか、ツールバーの <ブレークポイントの設定/解除> ボタンをクリックします。


  アプリケーションのデバッグ

アプリケーションは、起動後、ブレークポイントに達すると実行を中断します。


  アプリケーションのデバッグ

[実行] - [シングル ステップ] コマンドを選択するか、ツールバーの <シングル ステップ> ボタンをクリックして、1 ステートメントずつ実行して問題がある箇所を見つけます。F8 キーを使うこともできます。


  アプリケーションのデバッグ

ブレークポイントからコードの実行を継続するには、[実行] - [継続] コマンドを選択するか、ツールバーの [継続] ボタンをクリックします。


  アプリケーションのデバッグ

デバッグ ウィンドウを使って変数や式を調べることができます。

デバッグ ウィンドウは、中断モードのときだけ使うことができます。


  アプリケーションのデバッグ

アプリケーションにバグがないことを確認するには、次の例に示すようにさまざまな状況でアプリケーションを実行する必要があります。

通常の使い方では入力しないような大きな数値や小さい数値、または長い文字列などの条件を設定して実行します。この結果、アプリケーションの限界が判断できます。

他の人にアプリケーションを操作してもらいます。自分では予期しなかったデザイン上の問題点などを発見できる場合があります。

アプリケーションでデータを格納したり、取得する場合、情報が正しく処理されているかどうかを調べます。

アプリケーションがどのようにエラーを処理するかをテストします。


  アプリケーションのデバッグ

ここでは、次の 3 種類のエラーについて説明しました。

コンパイル エラー

実行時エラー

論理エラー

また、Visual Basic で利用できるデバッグ ツールについても紹介しました。

デバッグの詳細については、『プログラミング ガイド』の「第 20 章 デバッグ」を参照してください。


  アプリケーションのデバッグ