はじめに
「InputMan for .NET 4.0J Windows Forms Edition」(以降、InputMan for .NET 4.0J)は、VSに組み込まれている標準コントロールよりも、さらに進んだ機能を持ったコントロール群を提供するコントロールパックです。
今回は、この中からキャラクタボックス、日付、数値、郵便番号、エディット、コンテナの各コントロールとIMEコンポーネントを使い、Excelで納品書を作成するための入力フォームプログラムを作成してみました。
フォームから納品書番号や宛先、品名と数量・単価などを入力すると、その内容をExcelのワークシートに転送して納品書を作成します。
InputMan for .NET 4.0Jの使い方はとても簡単で、付属のインストーラでコンピュータにインストールすれば、後はツールボックスにコントロールを追加するだけですぐに使用できます。
対象読者
Visual Basic 2005を使ってプログラムを作ったことのある人、Excel VBAが使える人が対象です。
必要な環境
Visual Basic 2005またはVisual Studio 2005、およびExcel 2003が使用できる環境。
プログラム実行時の注意事項
本稿の実行ファイル(バイナリファイル)を動かすには、zipファイルに同梱してある以下のファイルが必要になります。
- 納品書.exe
- GrapeCity.Win.Input.v40.dll
- Interop.Excel.dll
- GrapeCity.Win.Input.Postal.v40.dll
- 納品書作成.xls
1.から4.のファイルは、同じフォルダに格納します。4.は、郵便番号から住所を探して表示するために使用します。
これらは、本稿で扱っているInputMan for .NET 4.0Jのコンポーネントを格納しているランタイムライブラリです。
また、5.のファイルをドライブCのルートにおいてください。納品書を作成するExcelのブックです。
GUIの作成(1/2)
GUIのほとんどは、InputMan for .NET 4.0Jのコントロールを使用します。
コントロールの追加
InputMan for .NET 4.0Jをインストールしたら、ツールボックスに専用のタブを作成し、InputMan for .NET 4.0Jのコンポーネントを追加します。追加するコンポーネントは、「.NET Frameworkコンポーネント」の「名前空間」が「GrapeCity.Win.Input」のコンポーネントです。
データの入力部分は、まずコンテナコントロールを配置し、そこに郵便番号コントロール、テキストボックス、キャラクタボックス、IMEコンポーネントを配置していきます。
IMEコンポーネントは、各コントロールにフリガナの機能を追加するコンポーネントなので、フォームの外に配置されます。
コンテナの配置とキャプションの設定
前回同様、各コントロールは、コンテナコントロールの中に配置します。コンテナは顧客情報の入力と購入品の入力の2つにわけ、Enabled
プロパティをFalseに設定しておきます。これで、プログラム起動時は、コンテナ内のコントロールはすべて無効状態になります。
また、コンテナコントロールのキャプション設定機能を使って、各コントロールにキャプションを設定します。
各コントロールの「キャプションスタイルの設定」で、キャプションの配置位置やテキストのエフェクトを自由に設定してください。
氏名とフリガナの入力設定
氏名入力用テキストボックスに漢字を入力すると、自動的にフリガナ用のテキストボックスにフリガナが入るようにします。
この機能は、IMEコンポーネントのフリガナ自動変換機能を使用します。
設定はいたって簡単で、フォームにIMEコンポーネントを配置すると、テキストボックスに[Ime1のReadingStringOutput]というプロパティが追加されます。このプロパティを展開し、[TargetControl]でフリガナを挿入したいコントロールを選択するだけです。あとの仕事は全部IMEコンポーネントが行ってくれます。
郵便番号の入力設定
郵便番号コントロールは、郵便番号用のマスク入力とDB Entry .NETの住所検索エンジンによる住所データ取得機能を利用して、入力された郵便番号から住所を検索し表示します。
Format
プロパティで、入力の際に表示する書式文字列を選べます。
入力した郵便番号から変換した住所をどのコントロールに転送するのかは、BuddyKanji
プロパティで指定します。また、フリガナ変換も同時に行うことができ、BuddyKana
プロパティでフリガナを表示するコントロールを指定します。
電話番号の入力設定
電話番号の入力には、キャラクタボックスコントロールを使用します。このコントロールは、入力インターフェイスにマス目を表示し、矢印キーを押さなくても連続してマス目に数値や文字を入力することができます。
マス目の追加やサイズ、枠線の設定などは、コントロールのタスクリストから[マス目を設定]を選んで行います。
また、入力規則の設定もでき、コントロールのタスクリストから[書式を設定]を選んで行います。書式はリストから選ぶと単一の書式が設定され、[カスタム書式の設定]欄で複数の書式を組み合わせることができます。