Microsoft® Visual Basic Control Creation Edition version 5.0®

開発環境の改良点

発行: 199612月 最新情報については、http://www.microsoft.com/vbasic をご覧ください。


目次

はじめに
統合開発環境
ActiveX コントロール作成ツール
拡張性 - ActiveX コントロール
カスタマイズ可能な開発環境

Visual Basic Control Creation Edition バージョン 5.0 の特性

はじめに

ソフトウェア開発者や審査担当者は、「何が新しいのか」または「なぜアップグレードしなければならないのか」などのような質問の答えとなる情報を必要としています。このセクションでは、Microsoft Visual Basic 5.0, Control Creation Edition の新しい拡張されたプログラミング環境を紹介します。

Microsoft Visual Basic 5.0, Control Creation Edition は、 ActiveX コントロールを作成するのに最も速く、最も効果的な方法であるだけでなく、Windows のプログラミング環境として最も広く使われているものです。今日、300 万人以上の開発者が Visual Basic を使ってプログラミングをしています。

Microsoft Visual Basic 5.0, Control Creation Edition は、旧版に初めて導入された開発の基礎に主に次の 3 点について改良を加えたものです。

  • 使い慣れた、使いやすいコントロール作成の典型 Visual Basic の人気の秘密は、その使いやすさにあります。インターフェイスは "図形または絵" で表わされ、高度なアプリケーションは、既成のテスト済みコンポーネントから組み立てられます。Visual Basic 5.0, Control Creation Edition は、ActiveX コンポーネントの構築に、同じアセンブリ メタファーを使っています。ActiveX コントロールはスクラッチから作成することも、数千もの市販の ActiveX コントロールを組み合わせても作成することもできます。Visual Basic のアプリケーションを作成できる方であれば、ActiveX コントロールも作成できます。
  • 改善されたプログラミング性能 - ExcelWordPowerPointAccess、および Project にも使用されている Visual Basic for Applications の新バージョン (バージョン 5.0) は、Visual Basic 5.0, Control Creation Edition の中にも見ることができます。統合開発環境 (IDE) は、すべてのホストアプリケーションの共通性を高めるためにそのアーキテクチャを完全に再構築し、標準化しました。さらに Visual Basic 5.0, Control Creation Edition では、IntelliSense テクノロジが利用できるようになり、これまで以上にエラー フリーコード入力が簡便かつ高速になりました。
  • 新しく改良されたデバッグ性能 - Visual Basic 5.0, Control Creation Edition では、ActiveX コントロールのデバッグをアプリケーションのデバッグと同程度に簡略化するための新しい独創的なデバッグ機能を豊富に用意しました。Visual Basic 5.0, Control Creation Edition 新しいマルチ プロジェクト開発環境により、ActiveX コントロールとそのホストは、ともに 1 回の開発セッションの中でデザイン、インプリメント、デバッグのすべてを行うことができます。

統合開発環境

Visual Basic for Applications は共用コンポーネントです。具体的には、これは、フォーム一式 (ActiveX コンポーネントのホストにあたります)、コード エディタ、およびデバッガで構成される共通の開発環境です。Visual Basic 5.0, Control Creation Edition および Microsoft ExcelAccessWordPowerPointProject など、ほかの多くの Microsoft 製品はすべてこの共通の開発環境を共用しています。総括すれば、これらの製品は、特定のビジネス上の問題を解決するために簡単に作り替えることのできる数百の ActiveX コンポーネントの集大成です。

最近、Microsoft 社が Visual Basic for Applications についてサード パーティとライセンス契約することを発表した結果、プログラミングの世界がさらに拡大しました。プログラマの方にとっては、AdobeAutodeskVisioSAP など、さらにたくさんの企業の製品をプログラムできるようになるという朗報となりました。

Visual Basic for Applications 環境には、Visual Basic for Applications の言語エンジン、パワフルなエディタ、オブジェクト ブラウザ、デバッグ ツールが含まています。

Visual Basic for Applications の統合開発環境 (IDE) は、大幅に改善されたプログラミング環境です。新しい IDE には、次の機能があります。

  • 新しい IntelliSence 機能は、プログラミング時間を減らしエラー フリー コードを保証するために、簡単な構文の参照とオブジェクト モデルのアシスタントを提供します。
  • マルチプロジェクト サポートにより、複数の ActiveX コントロールとそのテスト ホストがロードされます (1 回のセッションでデバッグできます)
  • エンハンスト エディタには、構文チェック、カラー コードによる構文、コード ウィンドウ内および複数のコード ウィンドウにまたがるコードのドラッグ アンド ドロップのサポート機能があります。
  • エンハンスト プロジェクト ウィンドウでは、プロジェクト コンポーネントを介して移動し、プログラミング中のワークスペースを管理することができます。
  • エンハンスト プロパティ ウィンドウでは、オブジェクトのプロパティを設定し、画面で確認することができます。プロパティは、カテゴリ順またはアルファベット順に表示されます。
  • 新しいデバッグ ツールは、プログラムの実行のトラッキング、パブリック変数およびローカル変数の状態のモニタリングおよびデバッグを補助します。
  • 新しいフォーム レイアウト ウィンドウでは、起動時のフォームの位置の視覚的な設定やモニタの解像度の設定を変えて画面上のフォームの位置をプレビューができます。

エンハンスト オブジェクト ブラウザでは複数のオブジェクト モデル ライブラリでプロパティやメソッドを走査し検索することができます。
1 - VBA 5.0 エディタ

コードウィンドウ

編集環境には、一貫してドラッグ アンド ドロップ機能が導入されています。

開発者は、コードや変数をドラッグ アンド ドロップすることができます。

  • コードウィンドウ間
  • ウォッチウィンドウの内外
  • ローカルウィンドウの内外
  • 複数のプロジェクト間
プロジェクトエクスプローラ
2 - プロジェクト エクスプローラ

Visual Basic 5.0 では、一度に数個のプロジェクトをロードすることができます。コントロール プロジェクトとホスト プロジェクトを同時にロードできるので、再利用可能な ActiveX コントロールをデザインしたりデバッグするのに非常に役立ちます。コントロールのソース コードにブレークポイントを置くことにより、プログラマーは、自分が作成したアプリケーションをデバッグし、ホスト アプリケーション上で一行ずつ起動させ、コントロールのソース コードへ移行した後、またホストに戻ることができます。

プロジェクト エクスプローラは、現在開いている各プロジェクトに関連づけられた、ロードされたすべてのプロジェクトのプロジェクト コンポーネント (ActiveX コントロール、フォーム、クラス、モジュール、リソース ファイルなど) をアウトライン ビューで表示します。各プロジェクトは、アウトライン コントロールの新しいルートとして表示されます。これにより、同時に複数のプロジェクトの作業をしている場合に、異なる文書のプロジェクト間で簡単に切り替えができるようになりました。開かれている文書とテンプレートごとに 1 つのプロジェクトがあります ( 2)

いくつかの異なるプロジェクトが開いている場合にワークスペースを管理しやすくするために、あるプロジェクト内で開いているすべてのコンポーネント (フォーム、コード モジュールなど) を、そのフォルダーを開いた場合は表示し、閉じた場合は表示しないようにしてあります。

上記のプロジェクトには、次に挙げるコンポーネントが含まれています。

  • プロジェクトのフォーム
  • プロジェクトのユーザーコントロール (メモ : ユーザー コントロールとは、プログラムの最終段階で ActiveX コントロールになる値の"フォーム" の名前です。)
  • プロジェクトのコードおよびクラスモジュール
  • プロジェクトのリソースファイル
プロパティ ウィンドウ
3 - プロパティ ウィンドウ

Visual Basic の環境には、ユーザー コントロール、フォーム、モジュール、およびクラスのプロパティを表示するプロパティ ウィンドウがあります。

Alphabetic (アルファベット順) Categorized (カテゴリ別) 2 つタブがあります。 Alphabetic のタブ表では、プロパティがアルファベット順に並べられて表示されます。 Categorized のタブ表では、プロパティがカテゴリ別にグループ化されて (たとえば色、フォント、位置のそれぞれに関するすべてのプロパティが) 表示されます。これらのカテゴリはカテゴリ名の左のマークをクリックしてプロパティ ウィンドウ内で開閉することができます。Visual Basic 5.0, Control Creation Edition で作成された ActiveX コントロールでは、カスタムプロパティについて、希望どおりのカテゴリを指定することができます。

Visual Basic for Applications のエディタにおけるほとんどの作業と同様に、コンポーネント タイプに関する情報は、プログラミングをしやすくするために広く活用されます。ActiveX コンポーネントは COM に基づいているので、すべての ActiveX コンポーネントがそのインターフェイスのタイプに関する情報を持っています。いいかえれば、どの開発ツールでも ActiveX コンポーネントのすべての公開されているオブジェクト、プロパティ、メソッド、さらにバージョンナンバーさえ簡単に確認することができます。プロパティ ブラウザでプロパティを選択するといつでも、ウィンドウの下部に機能に関する説明が表示されます ( 3)

デバッグツール

4 - デバッグ メニュー

VBA には、コンパイル エラー、プログラムの論理エラー、および実行時エラーを特定しやすいように新しく改良されたデバッグ ツールが含まれています。また、VBA のデバッグ ツールには、ローカル ウインドウ、ウォッチ ウィンドウおよび、イミディエイト ウィンドウが含まれています。さらに、ローカル ウィンドウには、現在の変数を表示し、プロシージャの定義や参照箇所にジャンプすることのできるコール スタック ブラウザが含まれています。

ローカル変数ウィンドウは、現在のプロシージャとその値の中で登録されたすべての変数を自動的に表示します。

ウォッチウィンドウでは、特定の変数や式の値をモニタリングすることができます。ウォッチ式の値が変更された場合、または特定の値と一致した場合に、コードの実行を中断することができます。

イミディエイトウィンドウは、Sub または Function の呼び出しのように、Visual Basic のあらゆる式やステートメントを瞬時に評価します。

コールスタックは、中断モード時のアクティブなプロシージャ呼び出しのリストを表示します。

デバッグの速度を高めるために、エディタからイミディエイト ウィンドウやローカルウィンドウにコードをドラッグ アンドドロップすることができます。

オブジェクト ブラウザ
5 - オブジェクトブラウザ

VBA には、改良された ActiveX オブジェクト ブラウザ ( 5) が含まれています。ブラウザはビルトイン プロパティ、カスタム プロパティ、メソッド、イベント ハンドラ、およびユーザー定義によるプロシージャを識別するだけでなく、グローバルなアクセスが可能なメンバを表示します。また、ブラウザは、関数の戻り値のタイプ、パラメータの名前とタイプ、およびユーザーが定義したタイプと定数を表示します。参照したオブジェクトにハイパーリンクでジャンプすることにより、オブジェクト階層間を楽に移動できます。オブジェクト ブラウザの新機能は、複数のタイプ ライブラリ間で、オブジェクトやメンバを検索することができるという点です。

IntelliSense の機能

Visual Basic for Applications バージョン 5.0 では、作成中の構文、プログラミング を補助し参照例を提供する Office IntelliSense テクノロジを用いています。これらの自動機能をオフにし、必要に応じ、VBA のメニューを通じて、または、キー操作によってアクセスすることもできます。次の機能は、コード ウィンドウ内でもイミディエイト ウィンドウからも利用できます。

  • Complete Word - 識別できるだけの文字数が入力されると、その語句を完成させる機能です。キー操作は、Cntl + Alt + A です。たとえば、コード ウィンドウで「msg」の後に Cntl + Alt + A を押すと、「MsgBox」という単語が完成します。
  • クイックヒント - プロシージャ名またはメソッド名が入力される(次にスペースまたは「 ( 」を入力する必要があります)と作成中のコード行の下に情報が自動的に表示されます。これは、入力したプロシージャに関する構文情報です。キー操作は Cntl + I です。このヒントは、ユーザー定義の関数だけでなく、組み込み関数についても利用できます。
    6 - クイック ヒント

プロパティ/メソッドの一覧 - ピリオドの直前に入力されているオブジェクトについて利用可能なプロパティやメソッドの一覧がポップアップ表示されます。キー操作は、Cntl + J です。メモ:これは、ビルトインのものか、外部から取り入れたものか、ユーザーが作成したものかを問わずすべての ActiveX コンポーネントに利用できます。
7 - プロパティ/メソッドの一覧

定数リスト - 符号 () の直前に入力されたプロパティに対して有効な定数の選択肢が一覧表示されます。キー操作は、Cntl + Shift + J です。

  • メモ:これは、ビルトインのものか、外部から取り入れたものか、ユーザーが作成したものかを問わずすべての ActiveX コンポーネントについて利用できます。

8 - 定数の一覧データ情報 - VBA の中断モードでカーソルが変数を選択しているとき、変数の値がツール ヒントと同様のウィンドウに表示されます。

9 - データ情報
メモ:中断モードの場合、データ情報を使用して素早く評価できるよう、式を部分的に選択することができます。

10 - 部分的に選択されたコードの断片に対するデータ情報

  • マージン インジケータ - コード エディタのマージン () をクリックすることにより、ブレークポイント、次のステートメント、またはブックマークを設定することができます。

11 - マージン インジケータ

ブロックコメントおよび非コメント

エディット ツールバーを使用すれば、コードブロック を選択し、ボタンをクリックするだけで選択したコード ブロック全体をコメント行にすることができます。

ActiveX コントロール作成ツール

はじめに
Visual Basic 5.0, Control Creation Edition が発表される前は、ActiveX コンポーネントは、Cまたは C++ 言語を使わなければ作成することができませんでした。Visual Basic 5.0, Control Creation Edition の登場により、新しいパワフルなアプローチで ActiveX コントロールを作成できるようになりました。 Visual Basic 5.0, Control Creation Edition では、アプリケーションを作成する場合と同じビジュアルなメタファーをコントロールの作成にも採用し、 既存のコントロールを変更 (サブクラス化) したり、複数のコントロールを組み合わせることによって、スクラッチからコントロール全体を作成することが可能になりました。

新たに専用のコンポーネントを開発する際に、Visual Basic のプログラマーは、既存のコントロールから新しいコントロールを作成できるこの機能により驚異的なメリットを受けることができます。プログラミングをするときには、スクラッチから始めるより、Visual Basic 5.0, Control Creation Edition を使って 2,000 以上の市販されている ActiveX コントロールをカスタマイズする方がよいでしょう。 ActiveX コントロールはさまざまな開発ツール上でホストとして使用できます。Microsoft Office 97 では、ActiveX コントロールは、Microsoft のフォーム上、または直接 Microsoft Office の文書上に配置されます。ActiveX Control PadInternet StudioFrontpage を使用して、ActiveX コントロールを Web ページに置くこともできます。ActiveX コントロールは、 Web ページに配置されると、Java アプレットと同様に動作します。 Web ページを訪れるユーザーが自分のコンピュータに ActiveX コントロールを持っていない場合、ActiveX コントロールは Java アプレットのように自動的にダウンロードされます。また、ユーザーが古いコントロールしか持っていない場合は、新しいコントロールが自動的にダウンロードされます。

ActiveX コントロールの機能
Visual Basic 5.0, Control Creation Edition ActiveX コントロールを作成する場合、開発者が利用できる多くの新しい機能があります。これらの新機能は、開発しやすさ、高性能、機能性を追求してデザインされています。

次の表は、開発者が利用できる ActiveX コントロールの新機能をいくつか紹介したものです。
オーナー描画 コントロールでグラフィック表示されるものに関して、ユーザーが自由に開発できるすべての描画操作をコントロール自体が行います。
サブクラス化 (既存のコントロールからコントロールを作成する) ActiveX コントロールを他のコントロールの実行内容に基づいて作成し、さらに求める実行内容に書き換えることができます。
複合コントロール 複合コントロールは、既存の ActiveX コントロール同士を結合させ、新しいコントロールにすることによって作成されます。
データ認識 ActiveX コントロールは、データベースへ簡単にリンクできるように、"データ認識が可能な"状態にすることができます。
コンテナコントロール コンテナコントロールにより、他のコントロール上に別のコントロールを作成することができます。たとえば、タブコントロールはコンテナコントロールです。
イベント 新しいコントロール用のカスタムイベントを作成するためにコントロールクリエーターによってイベントを追加することができます。
特定のコンテナ用コントロール 実行時にどのアプリケーションにのせるかを決定し、それに基づいて動作するようなコントロールを作成できます。
列挙型 列挙型は Visual Basic のクイックヒント機能をサポートしています。
既定のプロパティ 既定のプロパティは、特定のプロパティを指定せずにコントロールを作動させた場合に使用されます。
プロパティペ―ジ プロパティページはデザイン時のコントロール設定に役立ちます。
OCX ファイルごとのマルチ OCX OCX ファイルには複数の OCX コントロールを含めることができます。
デザイン時および実行時の動作 これにより、コントロール作成時にデザインモードと実行モードを区別することができます。そのため、デザイン時と実行時のそれぞれについて動作を指定できます。
デジタル署名 コントロールはデジタル署名できるので、エンドユーザーからのウィルスや、悪用を防ぎやすくなります。
プロパティの非同期読み込み コントロール、特にインターネットのコントロールにより、エンドユーザーに対応しながら、それらのプロパティの設定値をURL から (バックグラウンドで) ダウンロードできます。
実行時の表示または非表示 コントロール作成の際、実行時にコントロールを表示するかどうかをプロパティで決めることができます。たとえば、タイマーコントロールを表示しないようにできます。
ライセンス デザイン時にコントロールを使用できるようにするためのメカニズムを提供します。
メニュー コントロールは、標準のメニューを持つことができます。たとえば、ユーザーインターフェイスのフォームは、コントロールとしてパッケージされており、メニューが存在して初めて完成します。
オブジェクトモデル これを使って、コントロール内の高度な階層オブジェクトモデルを提供できます。
透過的背景これにより、長方形以外のコントロールが作成できます。
作成者のサポートいつデザインモードに入るか、また、いつコントロールの最初の段階に誘導するかを決定する機能をコントロールに付与することができます。たとえば、ActiveX コントロールには、希望するプロパティ設定値のプログラミングを手助けするウィザードを含めることができます。

ActiveX コントロール ウィザード

Visual Basic 5.0, Control Creation Edition は、ActiveX コントロールのプログラミングに大変役立つ極めて貴重な 2 つのウィザードを備えています。ActiveX コントロールインターフェイス ウィザードにより、プログラミングの際、ユーザーが作成するActiveX コントロールのプロパティ、メソッド、イベントを定義しやすくなります。
12 - ActiveX コントロール インターフェイス ウィザード
13 - ActiveX コントロール インターフェイス ウィザード

プロパティページ ウィザードは、ユーザーにより定義されたコントロール用のカスタム プロパティページを、自動的に作成します。カスタム プロパティページを導入することにより、ActiveX コントロールの作成時には、プロパティ設定用のカスタム インターフェイスも作成できます。
14 - プロパティ ページ ウィザード

下の図は、Visual Basic 5.0, Control Creation Edition で作成した カレンダー コントロール用のカスタム プロパティ ページの例です。このコントロールが載っている開発ツール (Visual Basic 4.0Visual Basic 5.0Visual C++Office 97ActiveX Control Pad など) に関係なく、デザイン時にコントロール上で右クリックをすれば、必ずカスタム プロパティ ページが表示されます。カスタム プロパティ ページは、異なる開発ツール間での ActiveX コントロールの再利用を容易にするだけでなく、共通性のある、わかりやすいインターフェイスとして機能します。カスタム プロパティ ページには、変更後コントロールがどのように見えるかを示す "プレビュー" もあることを覚えておいてください。これは、下の図 15 に示すとおりです。

15 - カスタム プロパティ ページの例

セットアップウイザード
ActiveX コントロールは、Java アプレットと同様に、必要に応じてユーザーのコンピュータに自動的にダウンロードされるようデザインされています。コントロールと依存するその他のファイルの圧縮、CAB (キャビネット) ファイルの作成、HTML ページ作成の各過程は、すべてセットアップ ウィザードにより操作されます。
16 - セットアップ ウイザード

拡張性 - ActiveX コントロール

Visual Basic 5.0 は、すべての Microsoft Office 97 のアプリケーションと共に、以前は OLE コントロールまたはカスタム コントロールと呼ばれていた ActiveX コントロールをサポートしています。ActiveX コントロールは、ビルトインの再利用可能なソフトウェア コンポーネントです。これらのコントロールはいずれもそのまま使用することも、Visual Basic 5.0, Control Creation Edition を使ってカスタマイズすることも可能です。

今日、データ アクセス、3D デザイン、マルチメディア、画像処理、マニュファクチュアリング、リアルタイム データの受信、作表、レポート作成、データベースの暗号化、データ圧縮、メインフレームとの接続、インターフェイスのデザイン、テレフォニー、ファックス、音声、機器の使用その他、考え得るほぼすべてのカテゴリで 2,000 以上の市販の ActiveX コントロールが入手可能です。

ツールボックス

17 - ツールボックス

ツールボックスは、開発中のセッションに登録されているすべての ActiveX コントロールを表示します。ツールボックス上で右クリックをすれば、ツールボックスにコントロールを追加したり、削除したりするだけでなく、希望どおりのあらゆるカテゴリ用に、完全にカスタマイズし組織化することができます。

  • コントロールの追加と削除 - ツールボックスを右クリックし、[Component] コマンドを選択すれば、ツールボックスに簡単に新しいコントロールを追加できます (下図 18 参照)
  • タブの追加と削除 - ツールボックスに "タブ" を追加することによって、ActiveX コントロールのカスタマイズや組織化が可能です。プロジェクトごと、機能性ごと、その他意味のあるあらゆる項目ごと (作表、インターネットなど) にコントロールをまとめることもできます。

18 - 開発環境への ActiveX コントロールの追加

カスタマイズ可能な開発環境

Visual Basic for Applications には、新しいタイプのメニューとツールバー システムであるコマンドバーが含まれています。この新しいシステムでは、完全にカスタマイズでき、かつドッキング可能またはドッキング不可能なフリー モードのツールバーが使用できます。ビルトインのメニューバー、または、ツールバーに使用することも、カスタム ツールバー、メニューバー、ショートカット メニューを作成したり、変更したりすることも可能です。ツールバーとメニューはコマンドバーに含まれているため、作成時には、それぞれについて同じ様なコントロールを使うことになります。たとえば、下の図で示すドッキングされたツールバーは、3 つのボタンを持っています。

次の図で示されたメニューは、メニュー項目として表示されていますが、ツールバーの場合と同じ 3 つのコマンドを持っています。

Visual Basic for Applications では、メニュー バーやツールバーにメニューを含めることができます。下の図にあるフリー モードのツールバーには、3 つのボタンと、メニュー項目として示された同じボタンを持つメニューが含まれます。


© 1996 Microsoft Corporation 戻る | ActiveX コントロールを初めて作成する