第3章 Visual Basic による開発の成果物


この章の見出しの一覧

3.1 プロジェクトファイル

3.1.1 プロジェクトファイルについて

 プロジェクトファイルとは/プロジェクトの名前/プロジェクトファイルの内容/モジュール一覧表の中のファイル名/プロジェクトファイルとプロジェクトウィンドウ

3.1.2 プロジェクトファイルに関する操作

 メモ帳と比較したプロジェクトファイルに関する操作

3.1.2.1 新規プロジェクトファイルに関する操作

 新規プロジェクトを開く/新規プロジェクトファイルに名前を付けてプロジェクトの保存/(メニューに関する豆知識)/後始末が必要な場合になされる問い合わせ/新規に作成するファイルと既に作成済のファイル

3.1.2.2 作成済のプロジェクトファイルに関する操作

 作成済のプロジェクトファイルを開く/保存の指示が必要な場合とは/作成済のプロジェクトの上書き保存/作成済のプロジェクトファイルに名前を付けてプロジェクトの保存/作成済のプロジェクトファイルのパス情報の取得

3.1.2.3 プロジェクトファイルの内容に関する操作

 モジュール一覧表の変更/スタートアップフォームの確認と設定・変更

3.2 フォームモジュール

3.2.1 フォームモジュールについて

 フォームモジュールとは/フォームモジュールの名前

3.2.2 フォームモジュールに関する操作

 新規フォームモジュールを開いてカレントプロジェクトに追加/新規フォームモジュールに名前を付けてファイルの保存/作成済のフォームモジュールを開いてカレントプロジェクトに追加/作成済のフォームモジュールのファイルの上書き保存/作成済のフォームモジュールに名前を付けてファイルの保存/エクスプローラでファイル名を変更すると/作成済のフォームモジュールのパス情報の取得/フォームモジュール閉じてカレントプロジェクトから除名 (解放)/新規プロシージャの組み入れ/プログラムコードのコピー/フォームモジュールの中のコントロールのコピー

3.3 コードモジュール

3.3.1 コードモジュールについて

 コードモジュールとは/コードモジュールの名前

3.3.2 コードモジュールに関する操作

 新規コードモジュールを開いてカレントプロジェクトに追加/新規コードモジュールに名前を付けてファイルの保存/作成済のコードモジュールを開いてカレントプロジェクトに追加/作成済のコードモジュールのファイルの上書き保存/作成済のコードモジュールに名前を付けてファイルの保存/作成済のコードモジュールのパス情報の取得/コードモジュールを閉じてカレントプロジェクトから除名 (解放)/新規プロシージャの組み入れ/プログラムコードのコピー

3.4 EXE (実行形式プログラム)

 EXE (実行形式プログラム) とは/EXE の名前 (実行形式プログラム名)/EXE でのデバッグ/EXE ファイル (実行形式プログラムファイル) に関する操作


Visual Basic を用いたアプリケーションプログラム開発における主要な成果物には、次の4種類のソフトウェア資産があります。これらは、Visual Basic のウィンドウという召使たちに指示を与えて作った、あなたの作品だということができます。

これらのソフトウェア資産は、一旦はパソコンの中のメモリ上に展開されますが、最終的にはファイルという形になります。ファイルになった後は、保存したり、持ち運んだりできるようになります。例えば、フロッピーディスクに格納して持ち運んだり、パソコンのハードディスクに保存したり、LAN で結ばれたサーバの共用ディスクに格納してシェア (共用) したりできるわけです。

そして、それぞれのソフトウェア資産は、ファイル名によって識別できるようになります。例えば、「RENSYUU3.VBP というプロジェクトファイルの内容を変更する」 というように成果物を名指しにした表現が可能になるわけです。

ところで、ファイル名には拡張子を付けることができますが、拡張子の役割はソフトウェア資産の種類を一目で判別できるようにすることです。言わば、色分けをするわけです。

地球儀

地球儀の海の部分を水色にしたり、各国を色分けする習慣があるのと同様に、ファイルの拡張子としてプロジェクトファイルには VBP または MAKフォームモジュールには FRMコードモジュールには BASEXE (実行形式プログラム) には EXE という拡張子を付けるのが習わしです。こうしておくと、拡張子によってソフトウェア資産の種類が一目で分かります。

なお、eee MANDALA を用いた開発においては、例えば、機械生成されたコードモジュールか手作りかによって拡張子を使い分けます。このようなコードモジュールの細かな種類が一目で分かるように、BAS だけでなく、DnnFnnFPRPSIDBMDEM などの拡張子も用いています (ただし nn は2個の数字)。

Visual Basic によるプログラムの開発作業としては、手作りする方法と eee MANDALA などを用いて機械生成する方法がありますが、いずれにしてもその成果物は、特定の形をしたファイルになります。

この章の狙いは、最終的な成果物の形をハッキリと意識した上で、それぞれの成果物の参照方法や変更方法などに関する基本操作をマスタすることです。

4種類のソフトウェア資産を個々に調べる前に、ここでこれらの関係を概観しておきましょう。
 

Visual Basic を用いて生み出す4種類のソフトウェア資産


プロジェクトファイルの中のモジュール一覧表 (黄色の部分) には,このプロジェクトに含まれるフォームモジュールとコードモジュールの全ての名前が記入してあります。ですから、このモジュール一覧表は、これらのフォームモジュールとコードモジュールの全てを指し示しているということができます。つまり、プロジェクトファイルは、プロジェクトを代表するソフトウェア資産なのです。

コードモジュールの中にはプログラムコード (赤色の部分) が入っていて、これ以外のものは入っていないと考えてください。つまり、コードモジュールは、プログラムコードだけを格納したファイルです。

フォームモジュールの中にもプログラムコード (赤色の部分) が入っていますが、これだけでなく、オブジェクト詳細情報 (青色の部分) も入っています。オブジェクト詳細情報とは、フォームの大きさ、およびフォームに含まれている各コントロールの位置や大きさなどの情報のことです。つまり、フォームモジュールは、オブジェクト詳細情報とプログラムコードを格納したファイルです。

EXE (実行形式プログラム) の中には、プロジェクトファイルとそのプロジェクトを構成する全てのモジュール (フォームモジュールおよびコードモジュール) を集約した情報 (緑色の部分) が入っています。EXE (実行形式プログラム) は、アプリケーションプログラムを配付するときに都合のよいファイルだといえます。



3.1 プロジェクトファイル


ここでは、開発の成果物の一つ (一種) であるプロジェクトファイルについて、ソフトウェア資産という観点から調べた後で、これに関する操作方法をマスタすることを目指します。なお、操作方法の説明は「3.1.2 プロジェクトファイルに関する操作」という節から始まります。


3.1.1 プロジェクトファイルについて


[プロジェクトファイルとは]

Visual Basic のプロジェクトとは、「開発プロジェクト」 というような意味ではありません。このプロジェクトという言葉の意味は、「幾つかのモジュールから構成されたプログラム」 に近いものだと考えてください。実際に、プロジェクトとは、幾つかのモジュールを集めた言わばモジュールの集合です。

以上のことをご理解いただくとプロジェクトファイルという言葉の意味が明確になります。プロジェクトファイルとは、そのプロジェクトを構成するモジュール一覧表などの情報を格納したファイルのことです。つまり、プロジェクトを代表するソフトウェア資産だということができます。

[プロジェクトの名前]

プロジェクトの名前、即ちプロジェクト名としては、プロジェクトを代表するプロジェクトファイルのファイル名を代用します。

プロジェクトファイルのファイル名には、ソフトウェア資産の種類が一目で分かるように VBP または MAK という拡張子を付けるのが習わしです。例えば、RENSYUU3.VBP というようなファイル名を付けます。なお、VBP は Visual Basic Project に、MAK は Make に由来します。

プロジェクトであることが明確な場合には、ピリオドと拡張子を除いた名前 (上の例の場合には RENSYUU3) をプロジェクト名として用いることがあります。

[プロジェクトファイルの内容]

プロジェクトファイルの中の主な情報は、モジュール一覧表です。これは、プロジェクトのメンバになっているモジュールを管理する表です。

プロジェクトファイルはテキストファイルですから、Windows 系 OS のメモ帳によってそのファイルを開いて、中身を見ることができます。

例えば、プロジェクトファイル RENSYUU3.VBP の中身を見ると、次に示すように、プロジェクトを構成するモジュール名前、即ちモジュール名 (モジュールのファイル名) が一覧になっていることが分かります。

Form=RENSYUU3.FRM

Module=AE_MSGL0; ..\AE_MSGL0.BAS

Module=AE_PROC; ..\AE_PROC.BAS

Module=AE_RSMR; ..\AE_RSMR.BAS

Module=CDBANGOU; CDBANGOU.F31

Module=RENSYUU; RENSYUU.D31

Module=KYOKUSUU; KYOKUSUU.F21

Module=GOUKEI; GOUKEI.F21

Module=CDBANGOU1; CDBANGOU.DEM

Module=ENSOUHUN; ENSOUHUN.F31

Module=RENSYUU31; C:\AEVB1@\USER\RENSYUU3.FPR

Module=RENSYUU32; C:\AEVB1@\USER\RENSYUU3.PSI

Form=CDBANGOU.FRM

ProjWinSize=97,380,239,249

ProjWinShow=2

IconForm="FR_CDBANGOU"

ExeName="RENSYUU3.EXE"

Name="RENSYUU3"

HelpContextID="0"

StartMode=0

VersionCompatible="0"

MajorVer=1

MinorVer=0

RevisionVer=0

AutoIncrementVer=0

ServerSupportFiles=0

VersionCompanyName="AppliTech Inc."

先頭から "ProjWinSize=・・・・・・・" という行の直前までの各行には、モジュールのファイル名がそれぞれ一つずつ記載されています。この例の場合は、全部で 27 行ありますが、このうちの 13 行がモジュールのファイル名です。

したがって、このプロジェクトは、これらの 13 個のモジュールから構成されているといえます。

[モジュール一覧表の中のファイル名]

モジュール一覧表の中のファイル名は、いろいろな形で表現されています。

パス情報が省略されているのはプロジェクトファイルと同じフォルダ (ディレクトリ) に存在するファイルですし、..\ という文字列で始まるのはプロジェクトファイルの親フォルダ (親ディレクトリ) に存在するファイルです。この他にドライブ名 (C:) から始まる完全なパス指定 (フルパスファイル名) で表されたファイルもあります。

なお、拡張子が OCX または VBX のモジュールは、フォームモジュールでもコードモジュールでもない言わば第三のモジュールであり、カスタムコントロールモジュールと呼ばれています。

[プロジェクトファイルとプロジェクトウィンドウ]

実物を眺める方が理解が速いと考えて、プロジェクトファイルの中身を Windows 系 OS のメモ帳で見てしまいましたが、こんな風にしてモジュール一覧表を見ることをお勧めしているわけではありません。

モジュール一覧表を見るにはプロジェクトウィンドウを呼び出してください。プロジェクトウィンドウの中にモジュール名 (即ちファイル名) の一覧表があります。別の言い方をすると、プロジェクトファイルの主な情報 (モジュール一覧表) を見るためには、それ専用のプロジェクトウィンドウという召使がいるので、それを使って見るのがよいでしょう。


3.1.2 プロジェクトファイルに関する操作


Visual Basic は、4種類ものファイルを取り扱うために、それぞれに応じた数多くの機能があります。しかし、プロジェクトファイルだけに注目すると話は極めてシンプルになります。

[メモ帳と比較したプロジェクトファイルに関する操作]

テキストファイルを取り扱う Windows 系 OS の原始的な道具としてメモ帳がありますが、実はこのシンプルな操作方法を Visual Basic は受け継いでいるのです。そこで、Visual Basic の操作方法とメモ帳のそれとを対比してみます。

メモ帳が一どきに一つだけのテキストファイルを対象にして働くのと全く同様に、Visual Basic は一どきに一つだけのプロジェクトファイルを対象にします。このプロジェクトのことをカレントプロジェクトと呼び、このプロジェクトファイルのことをカレントプロジェクトファイルと呼びます。

カレントプロジェクトとは、いま注目しているプロジェクトのことであり、暗黙のうちに操作の対象となるプロジェクトのことです。例えば、「プロジェクトを保存する」 というと、それは暗黙のうちにカレントプロジェクトを保存することを意味します。

メモ帳でできることは、テキストファイルを参照したり変更したりすることだけですが、Visual Basic ではもっと多くのことができます。単にプロジェクトファイルの内容を参照したり変更したりすることだけでなく、それを実行 (開始) させたりプロジェクトを構成するモジュールの内容を参照したり変更したりすることもできます。

ただし、ここでは話しを分かりやすくするために、先ずはプロジェクトファイルの内容に関する操作とその前提として必要になるファイル操作に焦点を当てることにします。この周辺までも細かくみてしまうと、大きな流れを見失うかもしれません。例えば、プロジェクトファイルを保存すると、そのプロジェクトを構成するモジュールも保存されるようになっているのですが、最初はプロジェクトファイルがどうなるかだけに注目する方が大きな流れをつかみやすいでしょう。


以下には、次の三つに分けて説明してあります。


3.1.2.1 新規プロジェクトファイルに関する操作


ここには、新規プロジェクトファイルに関する操作の詳細説明として、次の二つが書いてあります。

先ず、メモ帳を起動してみてください。こうすると新規にテキストファイルを作成するための準備が整います。同様に、Visual Basic を起動してみましょう。こうすると新規にプロジェクトファイルを作成するための準備が整います。

[新規プロジェクトを開く]

新規にプロジェクトファイルを作成するためには、その準備として先ず最初に新規プロジェクトを開くことが必要です。

上の説明と一部重複しますが、Visual Basic が未だ登場していないときに、これを起動すると、仮の名前 (Project1 という名前) をもつ新規プロジェクトが開かれて、この新たなプロジェクトがカレントプロジェクトになり、新規にプロジェクトファイルを作成するための準備が全て整います。

Visual Basic が既に登場しているときに、新規プロジェクトを開くには、メインウィンドウファイル(F) というメニュータイトルを開いて、その中の新規プロジェクト(N) というメニュー項目 (次の図参照) をクリックしてください。



この操作によって、Project1 という仮の名前をもつ新たなプロジェクトがカレントプロジェクトになります。細かくいうと、先ずこの操作をする直前のカレントプロジェクトを閉じて、次に新たなプロジェクトを開いて、この後にこれをカレントプロジェクトに切り換えるという一連の処理がなされることになります。これで、新規にプロジェクトファイルを作成するための準備が完了するというわけです。

新規プロジェクトが開かれると、プロジェクトウィンドウを通してこの新たなカレントプロジェクトに関する情報を見ることができるようになります。もしも、プロジェクトウィンドウが登場していなければ呼び出してみてください。

新規にプロジェクトファイルを作成すると決めた場合には、この新規プロジェクトという指示の直後に、次に説明のある新規プロジェクトファイルに名前を付けてプロジェクトの保存という指示をすることをお勧めいたします。こうすれば、プロジェクトファイルは (仮の名前ではなく) 正式な名前をもつことになりますし、作成済のものと全く同じ扱いになります。

[新規プロジェクトファイルに名前を付けてプロジェクトの保存]

メモ帳には、文字をインプットしてテキストファイルを作成するという使い方があります。Visual Basic の場合これに相当するのは、一覧表にモジュールを追加したり (付け加えたり) 除名したり (取り除いたり) してプロジェクトファイル (のモジュール一覧表) を作成することです (この操作方法については後述)。

ところで、文字をインプットしたり、メンバとなるモジュールを指定したりしている段階では、新規に作成しようとするファイルは、パソコンの中のメモリ上にあるだけですから、パソコンの電源を切ると消えてしまいます。そこで、新規に作成したテキストファイルの保存、あるいは新規に作成したプロジェクトファイルの保存のための操作が必要になります。

保存するには、メモ帳であれば、ファイル(F) というメニュータイトルを開いて、その中の名前を付けて保存(A)... というメニュー項目をクリックします。

これと同様に、Visual Basic の場合には、メインウィンドウファイル(F) というメニュータイトルを開いて、その中の名前を付けてプロジェクトの保存(E)... というメニュー項目 (次の図参照) をクリックしてください。



この指示をすると、以下に示す名前を付けてプロジェクトの保存というダイアログボックスが登場します。ここで、ファイル名とファイルの格納先のフォルダ (ディレクトリ) とを指定してから保存 (または OK) というボタンをクリックしてください。プロジェクトファイルを保存することができます。
 

名前を付けてプロジェクトの保存 (ダイアログボックス)


なお、Visual Basic には名前を付けてファイルの保存(A)... というメニュー項目がありますが、こちらは、(プロジェクトファイルではなく) フォームモジュールまたはコードモジュールを保存するためのものですから、混同しないようにご注意ください。

わざわざ名前を付けてプロジェクトの保存という指示をしなくても、Visual Basic 側からの問い合わせに答えて保存する方法もあります。

新たなプロジェクトファイルを作りかけの状態で、Visual Basic を終了させようとすると (あるいは、新規または作成済のプロジェクトファイルを開こうとすると)、Visual Basic は作りかけのプロジェクトファイルをどう処置してよいのか判断できないので、名前を付けてプロジェクトの保存というダイアログボックスによる問い合わせをしてきます。ここで保存しても構いません。

いずれの場合も、新規に作成したプロジェクトファイルを保存したくないときには、名前を付けてプロジェクトの保存というダイアログボックスの中のキャンセルというボタンをクリックしてください。


ここには、メニューに関する豆知識がまとめてあります。

ファイル(F) の中の (F) ような、メニュータイトルの中の括弧で括った下線つきの英字は、アクセスキーと呼ばれるものです。このメニュータイトルのアクセスキーは、(後述の) ショートカットキーのような動作をします。即ち、キーボード上の Alt キー (メニューキー) を押したままの状態で、更にアクセスキー (上の例では F というキー) を押すことによってメニューを開くことができます。

ただし、ディスプレイ画面上に複数のウィンドウが登場している場合に開くことのできるメニューは、フォーカスが当たっているウィンドウのものです。

名前を付けてプロジェクトの保存(E)... の中の (E) ような、メニュー項目の中の括弧で括った下線つきの英字も、アクセスキーと呼ばれるものです。こちらのメニュー項目のアクセスキーの方は、メニュー項目を指定するために使うキーです。メニューが開いている際にアクセスキー (上の例では E というキー) を押すことは、メニュー項目をクリックするのと同じ効果があります。

なお、メニュー項目の右端の ... という文字列は、引き続いた操作が必要なことを予告しています。即ち、このメニュー項目をクリックすると、ダイアログボックスが登場するので、引き続いてその操作が必要だというわけです。


[後始末が必要な場合になされる問い合わせ]

ここで、後始末が必要な場合に一般的に以下のような問い合わせが Visual Basic からなされることを覚えておくとよいでしょう。

Visual Basic に向かって何か指示をしたときに、もしも後始末が必要であれば、指示をした直後に、Visual Basic から後始末をどうつけるかに関する問い合わせがなされます。操作者の心理としては、その先に進みたいと思っているわけですから、何のことかと戸惑うかもしれません。

後始末に関する問い合わせは、次のように解釈してください。

「ご指示は分かりましたが、ご指示の通りにする前に、現状の後始末が必要です。ですから後始末をどうつけたらよいのか問い合わせをいたします。後始末としては xxxxxx, xxxxxx, ... のどれにいたしますか?」

それから、後始末に関する問い合わせの中にはキャンセルというボタンがありますが、このボタンは、指示の後で気が変わるような場合に配慮して 「あるいは、ご指示をキャンセルなさいますか?」 という問いを凝縮したものです。

例えば、名前を付けてプロジェクトの保存という指示に対して、プロジェクトファイルの後始末に関する問い合わせがあるのなら、戸惑いは少ないといえるかもしれません。しかし、この指示に対して、モジュールの保存の是非に関する問い合わせがなされることがあります。こんなときにも戸惑わずに、これも後始末に関する問い合わせの一種だとみなしてください。

なぜこのような問い合わせがあるのかというと、名前を付けてプロジェクトの保存という指示をすると、プロジェクトファイルの保存に先立って必要なモジュールも保存されることになっているからです。詳しくいうと、もしもモジュールの最新の内容がファイルに保存されていなければ、原則としてそのようなモジュールの全てが保存されて、その後に、プロジェクトファイルが保存されるようになっています。ただし、これはあくまでも原則ですから、実際にモジュールを保存するかどうかについては、一つ一つ問い合わせが入り、操作者の回答に従うことになります。

[新規に作成するファイルと既に作成済のファイル]

プロジェクトファイルに関する操作は、新規に作成しようとする場合既に作成済のものを対象にする場合とで、少しばかり違いがあります。しかし、新規に作成しようとするプロジェクトファイルを一旦保存してしまえば、一切の違いがなくなります。したがって、例えば新規プロジェクトという指示をしたらば、それに続けてすぐに、名前を付けてプロジェクトの保存という指示をすることをお勧めしています。こうすれば、(仮の名前ではなく) 正式なプロジェクト名を付けることにもなりますし、作成済のものと同様に取り扱うことができます。

なお、本書で 「作成済の」 といっているは、「完成した」 ということではなく、単に 「保存したことのある」 という程度の意味だとみなしてください。


3.1.2.2 作成済のプロジェクトファイルに関する操作


ここの説明は、作成済のプロジェクトファイルに対して通用するだけでなく、新規に作成しようとするプロジェクトファイルに対しても、それに名前を付けてプロジェクトの保存という操作を施した後であれば、適用することができます。

ここには、作成済のプロジェクトファイルに関する操作の詳細説明として、次の四つが書いてあります。この中の三番目の名前を付ける操作と四番目のパス情報の取得に関する操作の中で行う指示は、「3.1.2.1 新規プロジェクトファイルに関する操作」 の新規プロジェクトファイルに名前を付ける操作における指示と同じです。

[作成済のプロジェクトファイルを開く]

既に作成済のテキストファイルを参照したり、変更したりするには、メモ帳であれば、ファイル(F) というメニュータイトルを開いて、その中の開く(O)... というメニュー項目をクリックします。

これと同様に、Visual Basic の場合、既に作成済のプロジェクトファイルを参照したり、変更したりするには、メインウィンドウファイル(F) というメニュータイトルを開いて、その中のプロジェクトを開く(O)... というメニュー項目をクリックしてください。
 

ツールバーの中のプロジェクトを開くというボタン

Visual Basic の場合には、ボタン一つでこの操作を行うことができます。上図のボタン、即ちメインウィンドウのツールバーの中のプロジェクトを開くというボタンをクリックしてください。

メニュー項目またはボタンでこの指示を行うと、以下に示すプロジェクトを開くというダイアログボックスが登場します。ここで、ファイルが格納されているフォルダ (ディレクトリ) とファイル名を選択してから開く (または OK) というボタンをクリックしてください。プロジェクトファイルを開くことができます。
 

プロジェクトを開く (ダイアログボックス)


上記の一連の操作によって、指定したプロジェクト (ファイル) をカレントプロジェクト (ファイル) にしたわけです。細かくいうと、先ずこの操作をする直前のカレントプロジェクトを閉じて、次に新たなプロジェクトを開いて、この後にこれをカレントプロジェクトに切り換えたことになります。

ですから、プロジェクトウィンドウを通してこの新たなカレントプロジェクトに関する情報を見ることができるようになります。もしも、プロジェクトウィンドウが登場していなければ呼び出してみてください。

ところで、プロジェクトを開くというダイアログボックスは、名前を付けてプロジェクトの保存と同じ形をしています。前者は、どのファイルを読み込むのかという選択をするものであり、後者はどのファイルに書き出すのかという指定をするものです。


[保存の指示が必要な場合とは]

メモ帳には、上書き保存(S) というメニュー項目があります。これはテキストをメモ帳で変更した後、誤って電源を切断したり、メモ帳や Windows 系 OS が異常終了してしまうような事態に備えるためのものです。テキストを変更しても、パソコンの中のメモリの内容が変更されるだけですから、電源を切断してしまうと変更後の最新の内容は消えてしまいます。しかし、上書き保存をしておけば、その内容がファイルに格納されますから、上記の事態になっても安心だというわけです。

Visual Basic 用いて開発したアプリケーションプログラムに誤があったとしても Visual Basic や Windows 系 OS が異常終了することは稀です。これは、Visual Basic がアプリケーションプログラムの誤りをチェックアウトしているお陰です。

ですから、普通は、取り立てて保存の指示をする必要はありません。ただし、プログラムの中から DLL (ダイナミックリンクライブラリ) を呼び出している部分のデバッグが不十分な場合には、プログラムを変更したならば、それを実行させる前に保存の指示をしておくことをお勧めいたします。

ダイナミックリンクライブラリ (DLL) の呼び出しパラメタに誤りのあるプログラムを実行させると、、Visual Basic が異常終了したり、もろくも Windows 系 OS が異常終了するという現象が起きるかもしれません。そして、いずれの異常終了でも、変更を施した後の最新のプログラムの内容は消えてしまいます。これらに備えるには、こまめに保存をしておくことです。こうすれば、作成途中の最新のプログラムが消え去ることはありません。

なお、Visual Basic のアプリケーションプログラムが無限ループに陥った場合には、(インタープリタで実行しているのなら) Ctrl キーを押した状態で Pause (Break) キーを押すことによって、Visual Basic を強制的に中断状態にすることができます。ただし、希にはこれが効かない状態に陥ることもあります。そういうときには、Visual Basic を強制終了させるか、最悪は Windows 系 OS を強制終了させなければならなくなります。このような強制終了においては、もしも変更を施した後に保存をしていないと最新のプログラムの内容は消えてしまいます。なお、Visual Basic や Windows 系 OS を強制終了させるには、キーボード上の Ctrl キーと Alt キーの両方を押した状態で Delete キーを押してください。

もしもファイルの内容を変更したにもかかわらず保存をおこたると、Visual Basic の異常終了などが発生したときや Visual Basic を強制終了させたときに、作成の途中の最新のプログラムがなくなってしまいます。正確にいうと、変更前の内容はファイルに残っていますから、全てがなくなるわけではありません。変更した部分がなくなるだけなのですが、DLL のパラメタに関するバグなどがある上に最新のプログラムまでなくなってしまうのですから、泣きっ面を蜂にさされたような気分になるものです。

こんな目に合わないように、要所要所で忘れずに保存の指示をしましょう。

ただし、上書き保存をしてしまうと、変更前の内容に戻すことが難しくなります。上書き保存をする前であれば、変更前の内容がファイルに残っていますから、この後でメモリの内容をファイルに保存するための操作をしない限り、簡単に元に戻すことができます。しかし、上書き保存をすると、ファイルの元の内容が最新の内容に置き換わってしまうので、元に戻すことが簡単にはできなくなってしまいます。これを十分に認識した上で、適切な保存の指示を行ってください。


[作成済のプロジェクトの上書き保存]

Visual Basic のプロジェクトの上書き保存は、メモ帳の上書き保存に相当するものですが、少しばかり違いがあります。プロジェクトの上書き保存という指示をすると、先ず始めにそのプロジェクトを構成するモジュール一つ一つについてチェックが行われ、もしも最新の内容が保存されていないものがあれば保存されるようになっています。Visual Basic は、プロジェクトファイルだけでなくフォームモジュールコードモジュールも取り扱っているので、基本的にこれらも保存されるようになっているわけです。

プロジェクトの上書き保存をするには、メインウィンドウファイル(F) というメニュータイトルを開いて、その中のプロジェクトの上書き保存(V) というメニュー項目をクリックしてください。
 

ツールバーの中のプロジェクトの上書き保存というボタン

または、ボタン一つでこれを行うには、上図のボタン、即ちメインウィンドウのツールバーの中のプロジェクトの上書き保存というボタンをクリックしてください。

なお、Visual Basic にはファイルの上書き保存(S) というメニュー項目がありますが、こちらは、(プロジェクトファイルではなく) 指定したフォームモジュールまたはコードモジュールを一つだけ保存するためのものです。どちらかというと特殊用途向けですから、混同しないようにご注意ください。

このプロジェクトの上書き保存(V) の方は、そのプロジェクトに含まれるフォームモジュールおよびコードモジュールのうちの更新されているものを全て保存して最新の状態にするとともに、プロジェクトファイルを保存するためのものです。通常は、こちらのプロジェクトの上書き保存(V) の方をよく使用します。


[作成済のプロジェクトファイルに名前を付けてプロジェクトの保存]

プロジェクトファイルの変更前の内容変更を施した後の最新の内容の両方とも保存したいときには、名前を付けてプロジェクトの保存という指示をしてください。これは、メモ帳の名前を付けて保存に相当するものです。

名前を付けてプロジェクトの保存の操作方法は、以前に説明があった新規プロジェクトファイルに名前を付けてプロジェクトの保存と同じです。新規の場合も作成済の場合も操作方法に変わりはありません。

メインウィンドウファイル(F) というメニュータイトルを開いて、その中の名前を付けてプロジェクトの保存(E)... というメニュー項目 (前述の図参照) をクリックしてください。

この指示をすると、名前を付けてプロジェクトの保存というダイアログボックスが登場します。ここで、新たなファイル名とファイルの格納先のフォルダ (ディレクトリ) とを指定してから保存 (または OK) というボタンをクリックしてください。

これらの結果、プロジェクトファイルの新たなコピーが作られることになります。そして、元のプロジェクトファイルは手つかずのまま残り、更にプロジェクトファイルの最新の内容がここで指定したファイルに保存されることになります。

ところで、この保存処理の結果は、プロジェクト名の変更 (即ちファイル名の変更) だと捕らえることもできます。

元のプロジェクトファイルはそのまま残っているのですが、新たにプロジェクトファイルのコピーができて、そのファイル名は、ここで指定した新たな名前になります。そして、カレントプロジェクトの名前 (即ちプロジェクト名) もこの新たな名前に変更されます。

ですから、元のプロジェクトファイルをここで消去してしまうとすれば、新たな名前のファイルは、元のプロジェクトファイルの名前が変更になった (上に更に内容が最新の内容になった) ものだとみなすことができます。また、消去せずに残しておくとことにすれば、名前の変更をした上に、更に元のプロジェクトファイルを復元して残してあるのだとみなすことができます。

プロジェクト名の変更のために名前を付けてプロジェクトの保存という指示をするときには、これを行った後に元のプロジェクトファイルを消去するようにお勧めいたします。もしも消去しないと、元のプロジェクトファイルがゴミファイルとして残ってしまうからです。なお、元のプロジェクトファイルを消去するには、Windows 系 OS のエクスプローラまたはファイルマネージャを登場させて、それに削除の指示を与える方法が普通です。


[作成済のプロジェクトファイルのパス情報の取得]

プロジェクトファイルのファイル名は、プロジェクトウィンドウタイトルの部分に記載されています。しかし、これはパス情報と拡張子を除いた簡略化されたファイル名ですから、ここからパス情報を得ることはできません。

パス情報を取得するには、一旦名前を付けてプロジェクトの保存(E)という指示を行います。

この操作方法は、以前の説明にある通り、メインウィンドウファイル(F) というメニュータイトルを開いて、その中の名前を付けてプロジェクトの保存(E)... というメニュー項目 (前述の図参照) をクリックしてください。

この指示をすると、名前を付けてプロジェクトの保存というダイアログボックスが登場するので、その中からパス情報を読み取ることができます。見た後は、キャンセルというボタンをクリックしてください。

なお、名前を付けてプロジェクトの保存(E)という指示をしたときに、名前を付けてファイルの保存という (プロジェクトではなくファイルに関する) ダイアログボックスが登場することがあります。なぜこのようになるのかについては、後始末が必要な場合になされる問い合わせの説明を参照してください。


3.1.2.3 プロジェクトファイルの内容に関する操作


プロジェクトファイルの中には、モジュール一覧表が入っていますが、この他にも幾つかの情報が入っています。

ここには、プロジェクトファイルの内容に関する操作として 「モジュール一覧表の変更」 、およびその他の情報に関する操作の代表として 「スタートアップフォームの確認と設定・変更」 を取り上げてあります。

[モジュール一覧表の変更]

モジュール一覧表の変更に関する操作は、次の三つに分類されます。

この三つの操作は、これらの対象となるモジュールの種類 (フォームモジュールコードモジュール) およびモジュールの保存の状態 (未だ保存されていない新規の状態か、保存されたことのある作成済の状態か) によって、次のように細分化されます。

モジュールをカレントプロジェクトに追加する操作は、次の四つに細分化されます。

これらについては、「3.2.2 フォームモジュールに関する操作」 を参照してください。先頭の二つの説明は 「新規フォームモジュールを開いてカレントプロジェクトに追加」 というところに、後の二つの説明は 「作成済のフォームモジュールを開いてカレントプロジェクトに追加」 というところにあります。なお、コードモジュールについてもフォームモジュールに関する説明を参照してください。

モジュールをカレントプロジェクトから除名する操作は、次の二つに細分化されます。

これらについては、「3.2.2 フォームモジュールに関する操作」 の 「フォームモジュールを閉じてカレントプロジェクトから除名」 というところに説明があります。なお、コードモジュールについてもフォームモジュールに関する説明を参照してください。

モジュール名を変更する操作は、次の二つに細分化されます。

これらについては、「3.2.2 フォームモジュールに関する操作」 の 「作成済のフォームモジュールに名前を付けてファイルの保存」 というところに説明があります。なお、コードモジュールについてもフォームモジュールに関する説明を参照してください。

[スタートアップフォームの確認と設定・変更]

スタートアップフォームとは、プロジェクトの中でエントリポイント (入口) となるモジュール、即ち最初に動作するモジュールです。正しくは、スタートアップモジュールと呼ぶべきですが、Visual Basic の正式用語はスタートアップフォームになっているので、この用語を用いることにします。

スタートアップフォームの確認や設定・変更をするには、メインウィンドウツール(T) というメニュータイトルを開いて、その中のオプション(O)... というメニュー項目 (次の図参照) をクリックしてください。



この操作をすると、以下に示すオプションというダイアログボックスが登場します。ここで、スタートアップフォームの確認をすることができます。
 

オプション (スタートアップフォーム設定のダイアログボックス)


スタートアップフォームの設定変更をするには、確認操作の後にコンボボックスの中の一つの項目を選択してから OK というボタンをクリックしてください。

確認だけでよいときには、キャンセルというボタンをクリックしてください。

ここで、少しばかりの注意事項があります。それは、コンボボックスの中からスタートアップフォームを一つ選択する際に、そこに現れるのはモジュール名ではなく、フォーム名プロシージャ名だということです。

フォームモジュールをスタートアップフォームにするには、そのフォーム名 (即ちモジュール名ではなくフォームのオブジェクト名) を選択してください。

コードモジュールをスタートアップフォームにするには、Sub Main というプロシージャを表す文字列を選択してください。そして、コードモジュールのどれか一つに Main という名前の Sub プロシージャを組み入れるようにしてください。こうすると、Main という名前の Sub プロシージャが最初に動作することになります。

なお、eee MANDALA を用いた開発においては、スタートアップフォームとして eee MANDALA のメインフォームを指定することになっています。


3.2 フォームモジュール


ここでは、開発の成果物の一つ (一種) であるフォームモジュールについて、ソフトウェア資産という観点から調べた後で、これに関する操作方法をマスタすることを目指します。なお、操作方法の説明は「3.2.2 フォームモジュールに関する操作」という節から始まります。


3.2.1 フォームモジュールについて


[フォームモジュールとは]

フォームモジュールは、オブジェクト詳細情報プログラムコードを特定の形式で入れたファイルです。二種類の情報が入っているので、次の図のように、フォームウィンドウとコードウィンドウの二つを通して見ることで、片手落ちにならないようにしなければなりません。なお、次の図と合わせてVisual Basic を用いて生み出す4種類のソフトウェア資産という図も参照してください。



                        (宣言セクション、イベントプロシージャ、

                        ジェネラルプロシージャ)


フォームモジュール = オブジェクト詳細情報 + プログラムコード


                ↑           ↑


            [フォームウィンドウ]   [コードウィンドウ]



大雑把な言い方ですが、オブジェクト詳細情報とは、フォームウィンドウを通して見ることのできる情報であり、フォームの大きさ、およびフォームに含まれている各コントロールの位置や大きさなどの情報のことです。また、プログラムコードとは、コードウィンドウ通して見ることができる情報であるということができます。

これを逆方向から捕らえると、フォームウィンドウは、フォームモジュールのオブジェクト詳細情報を見たり変更したりするための召使であり、コードウィンドウは、フォームモジュール (またはコードモジュール) のプログラムコードを見たり変更したりするための召使であるということができます。

これらの情報をもう少し詳しく分類してみましょう。オブジェクト詳細情報の中には、フォーム (というオブジェクト) に関する諸々のプロパティの値、およびフォーム内に配置された各種のコントロール (というオブジェクト) の一つ一つに関する諸々のプロパティの値が含まれています。なお、オブジェクト詳細情報の大半は、プロパティの値ですから、正確にいうとフォームウィンドウを通すよりもプロパティウィンドウを通して見た方が細かく見ることができます。

そして、プログラムコードの中には、宣言セクションおよび各種のプロシージャを含めることができます。ところで、プロシージャには、以前の説明の通り、各種のオブジェクトと結び付いたイベントプロシージャ、および特定のオブジェクトとの結び付きのないジェネラルプロシージャの二種類がありますが、フォームモジュールのプログラムコードの中には、これら両方の種類のプロシージャを組み入れることができます。

因みに、フォームモジュールは、テキストファイルという形 (テキスト形式) で保存されます。Visual Basic 4.0 より前のバージョンでは、バイナリファイルという形 (バイナリ形式) で保存することができましたが、これはできなくなりました。

[フォームモジュールの名前]

フォームモジュールの名前、即ちフォームモジュール名としては、フォームモジュールのファイル名を代用します。

フォームモジュールのファイル名には、ソフトウェア資産の種類が一目で分かるように FRM という拡張子を付けるのが習わしです。例えば、JUTYU.FRM というようなファイル名を付けます。因みに、Visual Basic が生成することのあるフォームモジュールの拡張情報ファイルには、FRX という拡張子が使われています。なお、FRM は Form に由来し、FRX は Form Extension に由来します。

短い名前が必要な場合は、ピリオドと拡張子を除いた名前 (上の例の場合には JUTYU) をフォームモジュール名として用いることがあります。

ところで、フォームモジュールの名前とは別に、フォーム名 (即ちフォームの名前) がありますが、フォームモジュールの名前とフォームの名前とは異なるものですから注意してください。フォーム名とは、フォームモジュールの中のフォームというオブジェクトの名前であって、ファイル名ではありません。


3.2.2 フォームモジュールに関する操作


フォームモジュールに関する操作の多くは、コードモジュールに関する操作と全く同じです。次の八つは、対応するコードモジュールにも適用することができます。

・・ 新規フォームモジュールに名前を付けてファイルの保存

・・ 作成済のフォームモジュールを開いてカレントプロジェクトに追加

・・ 作成済のフォームモジュールのファイルの上書き保存

・・ 作成済のフォームモジュールに名前を付けてファイルの保存

・・ 作成済のフォームモジュールのパス情報の取得

・・ フォームモジュールを閉じてカレントプロジェクトから除名 (解放)

・・ 新規プロシージャの組み入れ

・・ プログラムコードのコピー


フォームモジュールに関する操作は、次の三つに分類することができます。

●フォームモジュールというファイルに関する操作は、次の六つに細分化されます。これらは、プロジェクトファイルに関するファイル操作を細分化した六つに対応します。⇔ という記号の後に、対応するプロジェクトファイルに関する操作が示してあります。

メモ帳の操作の場合もプロジェクトファイルに関するファイル操作の場合も、ファイルを一つだけ (Visual Basic 一つに対して一つ) しか開けない形になっていますが、フォームモジュールというファイルに関する操作の場合は、次々とフォームモジュールを開いていくことによって、それら複数のファイルを開いた状態にできる点に違いがあります。

開かれたフォームモジュールが複数ありうるので、フォームモジュールというファイルに関する操作は、どれを対象にするのか指定する必要があります。

このために、対象フォームモジュールのフォームウィンドウまたはコードウィンドウをクリックしてフォーカスを当ててください。あるいは、モジュール一覧表の中のフォームモジュール名 (即ちファイル名) をクリックして反転させてください。こうすれば、操作の対象となるフォームモジュールが決まりますから、後はメモ帳の操作やプロジェクトファイルに関する操作と同じ要領で取り扱うことができます。

モジュール一覧表に関する操作は、次の四つに細分化されます。

ここで注意事項ですが、次の四つのうち新たに出現するのは、三番目の除名に関する操作だけです。これ以外の三つは、ファイルに関する操作の中にある三つの操作と重複しています。

●フォームモジュールの内容に関する操作は、次の三つに細分化されます。

以下には、フォームモジュールに関する上記の 10個 (重複して数えると 13個) の操作の詳細説明が書いてあります。

なお、以下の 10個のフォームモジュールに関する詳細説明のうち、先頭の一つと最後の一つを除いた八つについては、コードモジュールにも適用することができます。


[新規フォームモジュールを開いてカレントプロジェクトに追加]

新規フォームモジュールを開いてカレントプロジェクトに追加する (付け加える) 操作方法は、次の通りです。

メインウィンドウ挿入(I) というメニュータイトルを開いて、その中のフォームモジュール(F) というメニュー項目をクリックしてください。
 

ツールバーの中のフォームモジュールというボタン

または、ボタン一つでこれを行うには、上図のボタン、即ちメインウィンドウのツールバーの中のフォームモジュールというボタンをクリックしてください。

このどちらかの指示をすると、仮の名前 (Form という文字列で始まる名前) をもつ新規フォームモジュールが開かれて、それに対応するフォームウィンドウが登場します。

なお、この操作は、新規フォームモジュールを開くこと、およびカレントプロジェクトに追加する (付け加える) ことの二つを同時に行ってしまうものです。

新規にフォームモジュールを作成すると決めた場合には、このフォームモジュールという指示の直後に、次に説明のある新規フォームモジュールに名前を付けてファイルの保存という指示をすることをお勧めいたします。こうすれば、フォームモジュールは (仮の名前ではなく) 正式な名前をもつことになりますし、作成済のものと全く同じ扱いになります。


[新規フォームモジュールに名前を付けてファイルの保存]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

新規フォームモジュールに名前を付けて保存するには、次の三ステップの操作を行います。

第一ステップでは、どのフォームモジュールを保存したいのかを指定します。プロジェクトウィンドウのモジュール一覧表の中の新規 (未だ保存されていない) フォームモジュールを一つ選んでそのモジュール名 (即ちファイル名) をクリックして反転させるか、あるいは保存したいフォームモジュールに対応するコードウィンドウまたはフォームウィンドウをクリックしてフォーカスを当ててください。

第二ステップでは、メインウィンドウのファイル(F) というメニュータイトルを開いて、その中の名前を付けてファイルの保存(A)... というメニュー項目 (次の図参照) をクリックしてください。



この指示をすると、以下に示す名前を付けてファイルの保存というダイアログボックスが登場します。そこで、第三ステップとして、ファイル名とファイルの格納先のフォルダ (ディレクトリ) とを指定してから保存 (または OK) というボタンをクリックしてください。フォームモジュールを保存することができます。
 

名前を付けてファイルの保存 (ダイアログボックス)


ところで、名前を付けてファイルの保存というダイアログボックスは、名前を付けてプロジェクトの保存に似ています。対象にするファイルの種類が異なるだけで、両方とも保存先を指定するためのものであり、形も全く同じです。

なお、Visual Basic には名前を付けてプロジェクトの保存(E)... というメニュー項目がありますが、これはプロジェクトに名前を付けること (とそのプロジェクトファイルを保存すること) が主目的ですから、混同しないようにご注意ください。


[作成済のフォームモジュールを開いてカレントプロジェクトに追加]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

既に作成済のフォームモジュールを開いてカレントプロジェクトに追加する (付け加える) には、次の二ステップの操作を行います。

第一ステップでは、メインウィンドウファイル(F) というメニュータイトルを開いて、その中のファイルの追加(D)... というメニュー項目 (次の図参照) をクリックしてください。



この指示をすると、以下に示すファイルの追加というダイアログボックスが登場します。そこで、第二ステップとして、フォームモジュールのファイルが格納されているフォルダ (ディレクトリ) とファイル名を選択してから開く (または OK) というボタンをクリックしてください。
 

ファイルの追加 (ダイアログボックス)


この第二ステップでは、作成済のフォームモジュールを開くこと、およびカレントプロジェクトに追加する (付け加える) ことの二つを同時に行ってしまいます。

ところで、ファイルの追加というダイアログボックスは、プロジェクトを開くに似ています。対象にするファイルの種類が異なるだけで、両方ともどのファイルを読み込むのかという選択をするためのものであり、形も全く同じです。

名前を付けてファイルの保存にも似ていますが、こちらは、どのファイルに書き出すのかを指定するという点が異なります。

このファイルの追加の操作を行っても、フォームモジュールに対応するフォームウィンドウやコードウィンドウは登場しませんから、必要なウィンドウを呼び出す操作をこの後で行ってください。


[作成済のフォームモジュールのファイルの上書き保存]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

作成済のフォームモジュールの保存には、次の二ステップの操作を行います。

第一ステップでは、どのフォームモジュールを保存したいのかを指定します。プロジェクトウィンドウのモジュール一覧表の中の作成済のフォームモジュールを一つ選んでそのモジュール名 (即ちファイル名) をクリックして反転させるか、あるいは保存したいフォームモジュールに対応するコードウィンドウまたはフォームウィンドウをクリックしてフォーカスを当ててください。

第二ステップでは、メインウィンドウファイル(F) というメニュータイトルを開いて、その中のファイルの上書き保存(S) というメニュー項目 (次の図参照) をクリックしてください。



なお、Visual Basic には、プロジェクトの上書き保存(V) というメニュー項目がありますが、これは、そのプロジェクトに含まれる全モジュールのファイルを最新の内容にした上でプロジェクトファイルを保存するものです。

ファイルの上書き保存(S) の方は、指定したフォームモジュールを一つだけ保存するためのものですから、どちらかというと特殊用途向けです。

通常は、プロジェクトの上書き保存(V) の方をよく使用します。


[作成済のフォームモジュールに名前を付けてファイルの保存]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

フォームモジュールの変更前の内容変更を施した後の最新の内容の両方とも保存するには、次の三ステップの操作を行います。

第一ステップでは、どのフォームモジュールを保存したいのかを指定します。プロジェクトウィンドウのモジュール一覧表の中の作成済のフォームモジュールを一つ選んでそのモジュール名 (即ちファイル名) をクリックして反転させるか、あるいは保存したいフォームモジュールに対応するコードウィンドウまたはフォームウィンドウをクリックしてフォーカスを当ててください。

第二ステップでは、名前を付けてファイルの保存という指示を行います。

この操作方法は、以前に説明があった新規フォームモジュールに名前を付けてファイルの保存と同じです。新規の場合も作成済の場合も操作方法に変わりはありません。

メインウィンドウファイル(F) というメニュータイトルを開いて、その中の名前を付けてファイルの保存(A)... というメニュー項目 (前述の図参照) をクリックしてください。

この指示をすると、名前を付けてファイルの保存というダイアログボックスが登場します。そこで、第三ステップとして、新たなファイル名とファイルの格納先のフォルダ (ディレクトリ) とを指定してから保存 (または OK) というボタンをクリックしてください。

これらの結果、フォームモジュールの新たなコピーが作られることになります。元のフォームモジュールはそのまま残ったままですが、そのフォームモジュールの最新の内容がここで指定したファイルに保存されることになります。

なお、Visual Basic には、名前を付けてプロジェクトの保存(E)... というメニュー項目がありますが、こちらは、プロジェクトに名前を付けること (とそのプロジェクトファイルを保存すること) が主目的ですから、混同しないようにご注意ください。

ところで、この保存処理の結果は、フォームモジュール名の変更 (即ちファイル名の変更) だと捕らえることもできます。

元のフォームモジュールはそのまま残っているのですが、元のフォームモジュールをコピーしたファイルが新たにできて、そのファイル名は、ここで指定した新たな名前になります。そして、カレントプロジェクトのモジュール一覧表の中のフォームモジュール名 (即ちファイル名) もこの新たな名前に変更されます。

ですから、元のフォームモジュールをここで消去してしまうとすれば、新たな名前のファイルは、元のフォームモジュールの名前が変更になった (上に更に内容が最新の内容になった) ものだとみなすことができます。また、消去せずに残しておくことにすれば、名前の変更をした上に、更に元のフォームモジュールを復元して残してあるのだとみなすことができます。

フォームモジュール名の変更のために名前を付けてファイルの保存という指示をするときには、これを行った後に元のフォームモジュールを消去するようにお勧めいたします。もしも消去しないと、元のフォームモジュールがゴミファイルとして残ってしまうからです。なお、元のフォームモジュールを消去するには、 Windows 系 OS のエクスプローラまたはファイルマネージャを登場させて、それに削除の指示を与える方法が普通です。

ただし、複数のプロジェクトのメンバになっているフォームモジュール (即ち共用フォームモジュール) 名前の変更のために名前を付けてファイルの保存という指示をした場合には、元のフォームモジュールを消去してはなりません。もしも消去してしまうと、このフォームモジュールをメンバにもつ他のプロジェクト (即ちこのフォームモジュールの所属プロジェクト) を開いたときに 「ファイルが見つかりません」 というエラーメッセージが出ることになってしまいます。

なぜなら、カレントプロジェクトのモジュール一覧表の中のフォームモジュール名は新たな名前に変更されますが、これ以外のモジュール一覧表は変更されずに元の名前が残っているからです。そこで、そういうモジュール一覧表をもつプロジェクトを開くと、そのモジュール一覧表の中にある変更前の名前のファイルを探しに行くことになるので見つからないというわけです。

したがって、元のフォームモジュールを残しておく必要があります。消去しても問題のなくなる時期は、そのフォームモジュールをメンバにもつような全ての所属プロジェクトについて、それを一つ一つ開いて、それぞれのモジュール一覧表の変更を済ませた後だということになります。


[エクスプローラでファイル名を変更すると]

ファイル名を変更するには、一般に Windows 系 OS のエクスプローラまたはファイルマネージャを用います。

そこで、Visual Basic に名前を付けてファイルの保存という指示をする代わりに、ファイルマネージャ名前の変更という指示を与えたとしても、フォームモジュール名 (即ちファイル名) を変更することができるはずです。

ただし、こうするとモジュール一覧表の中のモジュール名は変更されません。ですから、このフォームモジュールをメンバにもつようなプロジェクトを開くと 「ファイルが見つかりません」 というエラーメッセージが出ることになってしまいます。

これらのことから、どのプロジェクトのメンバにもなっていないフォームモジュール (言わば浪人中のフォームモジュール) に限って、ファイルマネージャを使って名前の変更をしてもよいということができます。そうでない場合、フォームモジュールの名前を変更するには Visual Basic に名前を付けてファイルの保存という指示をしてください。


[作成済のフォームモジュールのパス情報の取得]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

プロジェクトウィンドウを通してプロジェクトファイルの中のモジュール一覧表を見ると、フォームモジュールのファイル名が分かります。しかし、ここにはパス情報が記載されていません。

フォームモジュールのパス情報を取得するには、次の二ステップの操作が必要です。

第一ステップでは、どのフォームモジュールのパス情報を知りたいのかを指定します。プロジェクトウィンドウのモジュール一覧表の中の作成済のフォームモジュールを一つ選んでそのモジュール名 (即ちファイル名) をクリックして反転させるか、あるいはそのフォームモジュールに対応するコードウィンドウまたはフォームウィンドウをクリックしてフォーカスを当ててください。

第二ステップでは、一旦名前を付けてファイルの保存という指示を行います。

この操作方法は、以前の説明の通り、メインウィンドウファイル(F) というメニュータイトルを開いて、その中の名前を付けてファイルの保存(A)... というメニュー項目 (前述の図参照) をクリックしてください。

この指示をすると、名前を付けてファイルの保存というダイアログボックスが登場するので、その中からパス情報を読み取ることができます。見た後は、キャンセルというボタンをクリックしてください。


[フォームモジュールを閉じてカレントプロジェクトから除名 (解放)]

この操作は、「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

フォームモジュールを閉じてカレントプロジェクトから除名する (取り除く) には、次の二ステップの操作を行います。

第一ステップでは、除名したいフォームモジュールを指定します。プロジェクトウィンドウのモジュール一覧表の中の作成済のフォームモジュールを一つ選んでそのモジュール名 (即ちファイル名) をクリックして反転させるか、あるいは除名したいフォームモジュールに対応するコードウィンドウまたはフォームウィンドウをクリックしてフォーカスを当ててください。

第二ステップでは、メインウィンドウファイル(F) というメニュータイトルを開いて、その中のファイルの解放(R) というメニュー項目 (次の図参照) をクリックしてください。



この第二ステップでは、フォームモジュールを閉じること、およびカレントプロジェクトから除名する (取り除く) ことの二つを同時に行ってしまいます。


[新規プロシージャの組み入れ]

この操作は、フォームモジュールだけでなく、コードモジュールにも適用することができます。先ず、以下の前半部分にこの操作の背景が説明してあります。

フォームモジュールのプログラムコードもコードモジュールのプログラムコードも、一つの宣言セクションと幾つかのプロシージャから構成されています。

プロシージャには、以前の説明の通り、各種のオブジェクトと結び付いたイベントプロシージャと特定のオブジェクトとの結び付きのないジェネラルプロシージャの二種類があります。

ジェネラルプロシージャは、フォームモジュールの中にもコードモジュールの中にも組み入れることができます。他方、イベントプロシージャは、フォームモジュールの中にのみ組み入れることができます。

新たにコードモジュールを開いた際には、宣言セクションが一つあるだけで、プロシージャは一つもありません。ここに、プロシージャ (正確にいうとジェネラルプロシージャ) を組み入れていくことによって、幾つかのプロシージャをもつコードモジュールを作成することができます。この操作方法は、この後半の部分に詳しく書いてあります。

新たにフォームモジュールを開いた際にも、宣言セクションが一つあるだけで、プロシージャは一つもありません。ここに、プロシージャ (ジェネラルプロシージャやイベントプロシージャ) を組み入れていくことによって、幾つかのプロシージャをもつフォームモジュールを作成することができます。

フォームモジュールにプロシージャを組み入れる方法は、どちらのプロシージャを対象にするかによって異なります。

ジェネラルプロシージャを組み入れる操作方法は、この後半の部分に詳しく書いてあります。

イベントプロシージャについては、コードウィンドウの働きのお陰で、組み入れの操作が極めて簡単です。即ち、コードウィンドウ上の方にある二つのコンボボックス オブジェクト: および プロシージャ: の中から適当なイベントプロシージャを選択するだけで、組み入れ完了となります。ですから、この後でプロシージャの内容をインプットすれば、プロシージャを作成できます。

以下の後半部分の 「フォームモジュール」 という言葉を読み替えることで、コードモジュールにも適用することができます。

フォームモジュールにジェネラルプロシージャを組み入れるには、次の四ステップの操作を行います。

第一ステップでは、組み入れ先のフォームモジュールを明確にします。どのフォームモジュールに組み入れるのかは、即ち組み入れ先は、コードウィンドウをクリックしてフォーカスを当てることによって指定してください。なお、組み入れ先のフォームモジュールに対応するコードウィンドウが登場していない場合には、コードウィンドウを呼び出してください。

第二ステップでは、メインウィンドウ挿入(I) というメニュータイトルを開いて、その中のプロシージャ(P)... というメニュー項目 (次の図参照) をクリックしてください。



この指示をすると、以下に示す新規プロシージャというダイアログボックスが登場します。そして、ここからが第三ステップになります。プロシージャには、Sub プロシージャFunction プロシージャの二種類がありますから、どちらのタイプのプロシージャを組み入れるのかをオプションボタンで選択し、更にプロシージャの名前をインプットしてから OK のボタンをクリックしてください。
 

新規プロシージャ (ダイアログボックス)


これらの結果、コードウィンドウの中に新規プロシージャのガラが現れます。

そこで、第四ステップとして、パラメタの宣言プロシージャの内容をインプットしてください。こうすることで、プロシージャを作成することができます。


[プログラムコードのコピー]

この操作は、コードモジュールにも適用することができます。

ここでの 「モジュール」 とは、「フォームモジュール」 または 「コードモジュール」 を意味します。

プロシージャを作成する際に、文字列をキーボードからインプットすることもできますが、他のプログラムコードの一部をコピーしてくることもできます。

後者は、カットアンドペーストまたはコピーアンドペーストと呼ばれています。カットアンドペーストとはコピー元から文字列を切り取って、コピーの宛て先に張り付けることであり、結果として文字列が移動することになります。コピーアンドペーストとはコピー元の文字列を (切り取らずに) コピーして、宛て先に張り付けることですから、文字列がコピーされることになります。

どちらの操作も、二つまたは一つのコードウィンドウの間で行います。

あるモジュールから別のモジュールにコピーするときには、コピー元とコピーの宛て先の両方のコードウィンドウを登場させて操作を行います。

他方、一つのモジュール内でコピーする場合は、一つのコードウィンドウがコピー元であり、かつ宛て先だということになります。このときには、コードウィンドウの二枚重ねの構造を活用すると、コピー元と宛て先がどんなに離れていてもこれらを同時に見ながら操作できます。

コピー元と宛て先のコードウィンドウが決まったら、次の前段・後段の操作を行います。

前段では、コピーしたい文字列を取り出します。

先ずコピーしたい文字列をドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) することによって反転させてください。

次に、メインウィンドウ編集(E) というメニュータイトルを開いて、その中の切り取り(T) またはコピー(C) というメニュー項目をクリックしてください。こうすると、コピーしたい文字列は一旦クリップボードという仲介役のところにコピーされ、どこかに張り付けられるのを待つことになります。

後段では、クリップボードの中の文字列を目標の箇所に張り付けます。

先ず、コピーの宛て先をクリックすることによって、カーソルをそこに移動させます。照準を定めるわけです。

これに続けて、メインウィンドウの編集(E) というメニュータイトルを開いて、その中の貼り付け(P) というメニュー項目をクリックしてください。このようにして引きがねをひくと、クリップボードの中の文字列が飛び出してコピーの宛て先に向かい、そこに張り付られます。

なお、コピーの宛て先が何箇所もある場合には、後段の操作を繰り返してください。この操作によってクリップボードの中の文字列はなくなりませんから、何箇所もの宛て先へコピーをすることができます。

カットアンドペーストにより、プロシージャを丸ごと一つ他のモジュールに移動させることができます。コピーアンドペーストにより、プロシージャを丸ごと一つコピーする際には、名前の重複に注意してください。プロシージャ名が重複することは、同じフォームモジュールの中においても、同じコードモジュールの中においても、許されていません。因みに、異なるフォームモジュールやコードモジュールにおいては、たとえそれらが同じプロジェクトに含まれていても、プロシージャ名の重複が許されています。

カットアンドペーストも、コピーアンドペーストも、Visual Basic のコードウィンドウの間で行えるだけでなく、例えばコードウィンドウと Windows 系 OS のメモ帳の間でも行えます。メモ帳にコピーアンドペーストする場合には、プロシージャを丸ごと一つコピーしたとしても、プロシージャ名の重複が問題になることはありません。


[ショートカットキー]

カットアンドペーストの指示も、コピーアンドペーストの指示も、以下に示すショートカットキー (短絡的な操作を可能にするキー) を用いると素早くできます。なお、ショートカットキーに似たものに、アクセスキーがありますが、これは言わば、メニューを開くためのショートカットキーのようなものです。

編集(E) というメニュータイトルを開いて、その中の切り取り(T) というメニュー項目をクリックする操作は、キーボード上の Ctrl キーを押したままの状態で更にキー X を押すキー操作 (これを Ctrl + X と表記することにいたします) で代行できます。

編集(E) というメニュータイトルを開いて、その中のコピー(C) というメニュー目をクリックする操作は、Ctrl + C というキー操作で代行できます。

編集(E) というメニュータイトルを開いて、その中の貼り付け(P) というメニュー項目をクリックする操作は、Ctrl + V というキー操作で代行できます。

因みに、Ctrl + Z というキー操作は、誤って行ってしまった切り取りまたは貼り付けなどを元に戻すアンドゥの働きをします。


[フォームモジュールの中のコントロールのコピー]

フォームモジュールに張り付けるコントロールは、ツールボックスの中から取り出してくることもできますが、フォームモジュールの中のコントロールをコピーしてくることもできます。

後者は、カットアンドペーストまたはコピーアンドペーストと呼ばれています。ほとんど繰り返しの説明になりますが、カットアンドペーストとはコピー元からコントロールを切り取って、コピーの宛て先に張り付けることであり、結果としてコントロールが移動することになります。コピーアンドペーストとはコピー元のコントロールを (切り取らずに) コピーして、宛て先に張り付けることですから、コントロールがコピーされることになります。

どちらの操作の場合も、コントロールを張り付けると同時にプロパティもコピーされるのでなかなか快適です。また、複数のコントロール (コントロール群) の一括張り付けもできるので便利です。

どちらの操作も、二つまたは一つのフォームウィンドウで行います。

先ず前準備として、コピー元のコントロールが張り付けられているフォームウィンドウ、およびコピーの宛て先のフォームに対応するフォームウィンドウ (これは前者と同じ場合もあります) を登場させてください。

なお、コピー元のフォームがカレントプロジェクトに入っていない場合には、そのフォームモジュールを一旦カレントプロジェクトに追加してから、それに対応するフォームウィンドウ登場させてください。一連の操作が終わった後で、そのフォームモジュールをカレントプロジェクトから除名すれば、元どおりのモジュール構成に戻すことができますから、しばらくの間だけプロジェクトのメンバにするわけです。

フォームウィンドウの用意ができたら、次の前段・後段の操作を行います。

前段では、コピーしたいコントロールを取り出します。

コピーしたいコントロールが一つの場合には、それをクリックして、フォーカスを当ててください。複数のコントロール (コントロール群) を一括コピーしたい場合には、それらのコントロールのまわりをドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) することによって破線の四角形をつくり、その中にコピーしたいコントロールが全て入るようにしてください。

次に、メインウィンドウ編集(E) というメニュータイトルを開いて、その中の切り取り(T) またはコピー(C) というメニュー項目をクリックしてください。こうすると、コピー元の幾つかのコントロールは、一旦クリップボードという仲介役のところにコピーされ、どこかに張り付けられるのを待つことになります。

後段では、クリップボードの中の幾つかのコントロールを目標の箇所に張り付けます。

先ず、コピーの宛て先のフォームウィンドウをクリックして、フォーカスを当ててください。

これに続けて、メインウィンドウ編集(E) というメニュータイトルを開いて、その中の貼り付け(P) というメニュー項目をクリックしてください。こうすると、クリップボードの中の幾つかのコントロールがコピーの宛て先のフォーム (またはコントロール) に張り付けられます。

後段の操作の中で、コピー先のフォームウィンドウのフォーム部分をクリックすると、フォームの上に張り付けることになります。フォームを宛て先にするわけです。

他方、フォームウィンドウの中のフレームなどのコントロールをクリックすると、フレームなどのコントロールの中に張り付けることになります。コントロールを宛て先にするわけです。こうすると、コントロール間に親子関係が付き、フレームなどの親コントロールを移動させると同時に子コントロールも移動するようになります。

なお、コピーの宛て先が何箇所もある場合には、後段の操作を繰り返してください。この操作によってクリップボードの中のコントロールはなくなりませんから、何箇所もの宛て先へコピーをすることができます。

カットアンドペーストの場合も、コピーアンドペーストの場合も、同時にコントロールのプロパティの値を張り付けて (コピーして) しまうので好都合です。ただし、コントロール名 (Name) というプロパティについては例外があります。一つのフォームの中では、コントロール配列の場合を除いて、コントロール名が重複することが許されていません。ですから、操作の結果この規定に反することになる場合には、適当なコントロール名に変更されます。

カットアンドペーストの指示も、コピーアンドペーストの指示も、ショートカットキーを用いると素早くできます。ショートカットキーについては、この直前にある 「ショートカットキー」 の説明を参照してください。


3.3 コードモジュール


ここでは、開発の成果物の一つ (一種) であるコードモジュールについて、ソフトウェア資産という観点から調べた後で、これに関する操作方法をマスタすることを目指します。なお、操作方法の説明は「3.3.2 コードモジュールに関する操作」という節から始まります。


3.3.1 コードモジュールについて


[コードモジュールとは]

コードモジュールとは、プログラムコードを入れたファイルです。その中にはプログラムコードが特定の形式で入っていて、それ以外のものは何も入っていません。因みに、フォームモジュールの中にもプログラムコードが入っていますが、フォームモジュールの中には、プログラムコードだけでなく、オブジェクト詳細情報も入っています。 なお、次の図と合わせてVisual Basic を用いて生み出す4種類のソフトウェア資産という図も参照してください。



                       (宣言セクション、ジェネラルプロシージャ)


コードモジュール  =              プログラムコード


                            ↑


            [フォームウィンドウ]   [コードウィンドウ]


                ↓           ↓


フォームモジュール = オブジェクト詳細情報 + プログラムコード







プログラムコードとは、コードウィンドウ通して見ることができるものであり、その中には宣言セクションおよび幾つかのプロシージャが入っています。

これを逆方向から捕らえると、コードウィンドウは、コードモジュール (またはフォームモジュール) のプログラムコードを見たり変更したりするための召使だということができます。即ち、これを使って宣言セクションプロシージャを見たり変更したりするわけです。

ところで、プロシージャには、以前の説明の通り、各種のオブジェクトと結び付いたイベントプロシージャ、および特定のオブジェクトとの結び付きのないジェネラルプロシージャの二種類がありますが、コードモジュールのプログラムコードの中には、ジェネラルプロシージャという種類のプロシージャだけしか組み入れることができません。なぜなら、コードモジュールの中にオブジェクトを入れることができないためです。

因みに、コードモジュールは、テキストファイルという形 (テキスト形式) で保存されます。Visual Basic 4.0 より前のバージョンでは、バイナリファイルという形 (バイナリ形式) で保存することができましたが、これはできなくなりました。

[コードモジュールの名前]

コードモジュールの名前、即ちコードモジュール名としては、コードモジュールのファイル名を代用します。

コードモジュールのファイル名には、ソフトウェア資産の種類が一目で分かるように BAS という拡張子を付けるのが習わしです。例えば、CDbangou.BAS というようなファイル名を付けます。なお、BAS は Basic に由来します。

短い名前が必要な場合は、ピリオドと拡張子を除いた名前 (上の例の場合には CDbangou) をコードモジュール名として用いることがあります。

なお、繰り返しの説明になりますが、eee MANDALA を用いた開発においては、例えば、機械生成されたコードモジュールか手作りかによって拡張子を使い分けます。このようなコードモジュールの細かな種類が一目で分かるように、BAS だけでなく、DnnFnnFPRPSIDBMDEM などの拡張子も用いています (ただし nn は2個の数字)。


3.3.2 コードモジュールに関する操作


コードモジュールに関する操作の多くは、フォームモジュールに関する操作と全く同じです。全部で九つある中の次の八つは、「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する説明を参照してください。

・・ 新規コードモジュールに名前を付けてファイルの保存

・・ 作成済のコードモジュールを開いてカレントプロジェクトに追加

・・ 作成済のコードモジュールのファイルの上書き保存

・・ 作成済のコードモジュールに名前を付けてファイルの保存

・・ 作成済のコードモジュールのパス情報の取得

・・ コードモジュールを閉じてカレントプロジェクトから除名 (解放)

・・ 新規プロシージャの組み入れ

・・ プログラムコードのコピー

ここには、全部で九つある中の次の一つについて詳しい説明があります。

・・ 新規コードモジュールを開いてカレントプロジェクトに追加

以下にコードモジュールに関する操作の分類についての説明がありますが、これは、フォームモジュールの場合とほとんど同じです。

コードモジュールに関する操作は、(フォームモジュールに関する操作と本質的に同じであり)、次に三つに分類さます。

●コードモジュールというファイルに関する操作は、(フォームモジュールのそれと本質的に同じであり)、次の六つに細分化されます。これらは、プロジェクトファイルに関するファイル操作を細分化した六つに対応します。⇔ という記号の後に、対応するプロジェクトファイルに関する操作が示してあります。

メモ帳の操作の場合もプロジェクトファイルに関するファイル操作の場合も、ファイルを一つだけ (Visual Basic 一つに対して一つ) しか開けない形になっていますが、コードモジュールというファイルに関する操作の場合は、次々とコードモジュールを開いていくことによって、それら複数のファイルを開いた状態にできる点に違いがあります。

開かれたコードモジュールが複数ありうるので、コードモジュールというファイルに関する操作では、どれを対象にするのか指定する必要があります。

このために、対象コードモジュールのコードウィンドウをクリックしてフォーカスを当ててください。あるいは、モジュール一覧表の中のコードモジュール名 (即ちファイル名) をクリックして反転させてください。こうすれば、後はメモ帳の操作やプロジェクトファイルに関する操作と同様に取り扱うことができます。

モジュール一覧表に関する操作 は、(フォームモジュールに対してもコードモジュールに対しても本質的に同じであり)、次の四つに細分化されます。

ここで注意事項ですが、次の四つのうち新たに出現するのは、三番目の除名に関する操作だけです。これ以外の三つは、ファイルに関する操作の中にある三つの操作と重複しています。

●コードモジュールの内容に関する操作は、(フォームモジュールの内容に関する操作が三つに細分化されているのと少し異なり)、次の二つに細分化されます。

以下には、コードモジュールに関する上記の九つ (重複して数えると 12個) の操作のうち、先頭の一つについての詳細説明が書いてあります。他の八つについては、「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する詳細説明を参照してください。


[新規コードモジュールを開いてカレントプロジェクトに追加]

新規コードモジュールを開いてカレントプロジェクトに追加する (付け加える) 操作方法は、次の通りです。

メインウィンドウ挿入(I) というメニュータイトルを開いて、その中の標準モジュール(M) というメニュー項目をクリックしてください。
 

ツールバーの中の標準モジュールというボタン

または、ボタン一つでこれを行うには、上図のボタン、即ちメインウィンドウのツールバーの中の標準モジュールというボタンをクリックしてください。

この指示をすると、仮の名前 (Module という文字列で始まる名前) をもつ新規コードモジュールが開かれて、それに対応するコードウィンドウが登場します。

なお、この操作は、新規コードモジュールを開くこと、およびカレントプロジェクトに追加する (付け加える) ことの二つを同時に行ってしまうものです。

新規にコードモジュールを作成する場合には、この標準モジュールという指示の直後に、次に説明のある新規コードモジュールに名前を付けてファイルの保存という指示をすることをお勧めいたします。こうすれば、コードモジュールは (仮の名前ではなく) 正式な名前をもつことになりますし、作成済のものと全く同じ扱いになります。


[新規コードモジュールに名前を付けてファイルの保存]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[作成済のコードモジュールを開いてカレントプロジェクトに追加]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[作成済のコードモジュールのファイルの上書き保存]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[作成済のコードモジュールに名前を付けてファイルの保存]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[作成済のコードモジュールのパス情報の取得]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[コードモジュールを閉じてカレントプロジェクトから除名 (解放)]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[新規プロシージャの組み入れ]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。

[プログラムコードのコピー]

「3.2.2 フォームモジュールに関する操作」 の中の対応するフォームモジュールに関する操作を参照してください。


3.4 EXE (実行形式プログラム)


ここでは、開発の成果物である EXE (実行形式プログラム) について、ソフトウェア資産という観点から調べた後で、これに関する操作方法をマスタすることを目指します。

[EXE (実行形式プログラム) とは]

EXE (実行形式プログラム) は、プロジェクトファイルとそのプロジェクトを構成する全てのモジュールを特定の形式に集約したファイルであり、主にアプリケーションプログラムを配付する際に用いるものです。なお、ここでVisual Basic を用いて生み出す4種類のソフトウェア資産という図も参照してください。

大雑把に全てのモジュールを集約したといましたが、正確にいうとカスタムコントロールモジュール (OCX または VBX) および DLL (ダイナミックリンクライブラリ) は EXE ファイルの中に集約されません。したがって、配付に際しては、これらのファイルを EXE に添付することが必要です。以前に、カスタムコントロールモジュールとはフォームモジュールでもコードモジュールでもない言わば第三のモジュールであるとの説明をしましたが、第三のモジュールは EXE ファイルへの集約に関してフォームモジュールやコードモジュールと異なる扱いになっていることに注意してください。

EXE というファイル (実行形式プログラムファイル) があるので、アプリケーションプログラムを配付する際に、次の点が有利になっています。

もしも、幾つかのモジュールから構成されるプロジェクトをそのままの形で配付するものとすると、数多くのファイルを配付しなければならなくなります。プロジェクトファイルとそのプロジェクトを構成する全てのモジュールをコピーしなければならないわけです。そして、このプロジェクトを実行させるパソコンの一台一台に Visual Basic をインストールすることが必要になります。

他方、EXE ファイルを作って配付する方式は、プロジェクトファイルとそのプロジェクトを構成する全てのモジュールが一つのファイルに集約されますから、第一に取扱いやすさという点で優ります。そして、第二にプロジェクトを実行させるために、Visual Basic をインストールしておく必要はなくなります。ただし、VB40016.DLLVB4JP16.DLLVB40032.DLLVB4JP32.DLL などの DLL が必要になりますから、これらを再頒布する際の条件を読んで確認の上、一緒に配付してください。なお、eee MANDALA を用いて開発したアプリケーションプログラムについては、AE_SUPER.DLL または AE_SUP32.DLL という DLL が必要になりますから、これを再頒布する権利を取得の上それぞれのパソコンにインストールする必要があります。

EXE の名前 (実行形式プログラム名)]

EXE の名前、即ち EXE 名 (実行形式プログラム名) としては、EXE (実行形式プログラム) のファイル名を代用します。

EXE のファイル名には、ソフトウェア資産の種類が一目で分かるように EXE という拡張子を付けるのが習わしです。例えば、JUTYU.EXE というような名前を付けます。なお、EXE は Executable に由来します。そして、EXE というソフトウェア資産の種類を表す名前にもなっています。

短い名前が必要な場合は、ピリオドと拡張子を除いた名前 (上の例の場合には JUTYU) を EXE 名 (実行形式プログラム名) として用いることがあります。

[EXE でのデバッグ]

EXE (実行形式プログラム) は、プログラムのデバッグが終わった後に、それを配付するために作成するのが普通です。ところが、これ以外にも、プログラムをデバッグするために EXE ファイルを作成する場合があります。これは、EXE を実行させることはできるのに、Visual Basic のインタープリタのもとでは実行させることができない (開始の指示をするとエラーになる) 場合です。

一つのフォームに数多くのコントロールを張り付けると、インタープリタのもとで実行させることができなくなることがあります。具体的にいうと 「メモリが不足です」 というエラーメッセージが出現して、先に進まなくなります。

こうなった場合には、EXE ファイルを作成してそれをデバッグすることになります。そして、このデバッグ作業が普段よりも時間がかかり面倒であることを体験すると、Visual Basic のインタープリタを用いたデバッグがいかに便利であったのか、そのありがたみを知ることになるでしょう。

ところで、eee MANDALA を用いた開発においては、ありがたみのあるインタープリタを用いてデバッグできる範囲を広げることができます。

上記のきつい制限をオーバしてしまい、インタープリタのもとで実行できなくなるものがあるとすれば、それは画面の中に同じ形の明細行が何行も並んだボディ部をもつ場合が大半だといえます。コントロールの数は、横に並んだコントロールの個数と行数との積で表されますから、結構な数になるわけです。

こういう画面に対しては、ボディ部の表示行数として eee MANDALA に指定する値を少なくしてみてください。こうすると、画面の中のコントロールの数が少なくなり、大抵はインタープリタのもとでデバッグできるようになります。

借り処置としてボディ部の表示行数を少なくしても、アプリ開発者が開発する業務依存の高級イベントルーチンには影響を与えませんから、その部分のデバッグを進めることができます。なお、eee MANDALA が機械生成するプログラムコードは、ボディ部の表示行数を少なくすることで大いに影響を受けますが、この部分は機械生成ですので基本的にデバッグの必要がありません。

なお、いずれにしてもデバッグを終えた後には、EXE ファイルを作成して、最終段階の確認テストをすることをお勧めいたします。

[EXE ファイル (実行形式プログラムファイル) に関する操作]

EXE ファイル (実行形式プログラムファイル) を作成するには、先ず EXE ファイルを作成したいプロジェクトがカレントプロジェクトになっていることを確認してください。こうなっていないときには、そのプロジェクトを開いてカレントプロジェクトにしてください。

なお、作成済のプロジェクトを開く操作については、「3.1.2.2 作成済のプロジェクトファイルに関する操作」 を参照してください。

そして、メインウィンドウファイル(F) というメニュータイトルを開いて、その中の EXE ファイルの作成(K)... というメニュー項目 (次の図参照) をクリックしてください。



この指示をすると、以下に示す EXE ファイルの作成というダイアログボックスが登場します。
 

EXE ファイルの作成 (ダイアログボックス)


ここで、ファイル名とファイルの格納先のフォルダ (ディレクトリ) とを指定してから OK というボタンをクリックしてください。こうすると EXE ファイルを作成することができます。

以前に EXE ファイルを作成したことがある場合には、そのパス情報、即ちファイル名とフォルダ (ディレクトリ) がダイアログボックスの中に設定されています。ですから、同じ名前のファイルに上書きする場合には、そのまま OK というボタンをクリックしてください。

OK というボタンをクリックする前に、このダイアログボックスのオプション(O)... というボタンをクリックすると、以下に示すダイアログボックスが登場して詳細の設定をすることができます。
 

EXE ファイルの作成のオプション (ダイアログボックス)


例えば、タイトルの指定とは、このアプリケーションプログラムが MsgBox 関数などで表示するダイアログボックスのタイトルの部分に記載される文字列のデフォルト値 (規定値) を決めることです。

また、アイコンの選択とは、プログラムマネージャ画面の中に掲載されるアイコンを選択することです。このアイコンは、このアプリケーションプログラムをプログラムマネージャに登録した際に表示されるものです。ところで、各フォームは、それが最小化されたときにタスクバーの中のボタンの左端に表示されるアイコン (Windows NT 3.51 の場合にはアイコン化されたときに表示されるアイコン) をもっています。そこで、複数のフォームから構成されるプロジェクトの場合、フォームの一つを指名することによって、そのフォームのアイコンを代表に (即ちプログラムマネージャ画面の中に掲載される代表に) するわけです。

なお、各フォームを代表するアイコンは、プロパティウインドウで設定することができます。

ところで、数多くのプロジェクトの中に入っている共通ライブラリモジュールを変更した場合には、その全てのプロジェクトに対して EXE ファイルの再作成が必要になります。これを手操作で一つ一つ行うのは、生産的とはいえません。こんなときには、eee MANDALAバッチを活用してください。

eee MANDALAバッチは、Visual Basic による EXE ファイルの作成の操作を一つ一つ手で指示しなくてもよいようにします。また、eee MANDALA を用いた開発においては、機械生成の操作を一つ一つ手で指示しなくてもよいようにします。


eee MANDALA

ブラウザの戻る (Go Back) のボタンを押して元に戻るか、第4章または目次のページに進んでください。

また、アプリテック株式会社のホームページhttp://www.applitech.co.jp/のこの他の情報もご覧ください。


Copyright (C) 1995-1997 By AppliTech, Inc. All Rights Reserved.
eee, SSS/Win は、ウッドランド株式会社から販売されている製品です。
MANDALA は、アプリテック株式会社の商標として登録の申請を済ませています。
Visual Basic, Windows, Windows NT は、米国マイクロソフト社の商標です。
(ME96V421)