SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(InputMan)

Excel形式の納品書を作成する入力支援フォーム

InputMan for .NET 4.0Jを使ったExcel入力フォームの作成:その2

  • X ポスト
  • このエントリーをはてなブックマークに追加

 前回に引き続き、InputMan for .NET 4.0J Windows Forms Editionのコントロール群から、キャラクタボックス、日付、数値、郵便番号、エディット、コンテナの各コントロールとIMEコンポーネントを使い、Excelで納品書を作成するための入力フォームプログラムを作成してみました。

  • X ポスト
  • このエントリーをはてなブックマークに追加

入力内容をExcelに転送。郵便番号から住所とフリガナを自動入力
入力内容をExcelに転送。郵便番号から住所とフリガナを自動入力
Excelではワークシートをコピー・追加して納品書を作成
Excelではワークシートをコピー・追加して納品書を作成

はじめに

 「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ファイルに同梱してある以下のファイルが必要になります。

  1. 納品書.exe
  2. GrapeCity.Win.Input.v40.dll
  3. Interop.Excel.dll
  4. GrapeCity.Win.Input.Postal.v40.dll
  5. 納品書作成.xls

 1.から4.のファイルは、同じフォルダに格納します。4.は、郵便番号から住所を探して表示するために使用します。

 これらは、本稿で扱っているInputMan for .NET 4.0Jのコンポーネントを格納しているランタイムライブラリです。

 また、5.のファイルをドライブCのルートにおいてください。納品書を作成するExcelのブックです。

GUIの作成(1/2)

 GUIのほとんどは、InputMan for .NET 4.0Jのコントロールを使用します。

GUIの使用コントロール
 GUIの使用コントロール

コントロールの追加

 InputMan for .NET 4.0Jをインストールしたら、ツールボックスに専用のタブを作成し、InputMan for .NET 4.0Jのコンポーネントを追加します。追加するコンポーネントは、「.NET Frameworkコンポーネント」の「名前空間」が「GrapeCity.Win.Input」のコンポーネントです。

GrapeCity.Win.Input名前空間のコンポーネントを追加する
 GrapeCity.Win.Input名前空間のコンポーネントを追加する

 データの入力部分は、まずコンテナコントロールを配置し、そこに郵便番号コントロール、テキストボックス、キャラクタボックス、IMEコンポーネントを配置していきます。

 IMEコンポーネントは、各コントロールにフリガナの機能を追加するコンポーネントなので、フォームの外に配置されます。

コンテナの配置とキャプションの設定

 前回同様、各コントロールは、コンテナコントロールの中に配置します。コンテナは顧客情報の入力と購入品の入力の2つにわけ、EnabledプロパティをFalseに設定しておきます。これで、プログラム起動時は、コンテナ内のコントロールはすべて無効状態になります。

 また、コンテナコントロールのキャプション設定機能を使って、各コントロールにキャプションを設定します。

 各コントロールの「キャプションスタイルの設定」で、キャプションの配置位置やテキストのエフェクトを自由に設定してください。

氏名とフリガナの入力設定

 氏名入力用テキストボックスに漢字を入力すると、自動的にフリガナ用のテキストボックスにフリガナが入るようにします。

 この機能は、IMEコンポーネントのフリガナ自動変換機能を使用します。

 設定はいたって簡単で、フォームにIMEコンポーネントを配置すると、テキストボックスに[Ime1のReadingStringOutput]というプロパティが追加されます。このプロパティを展開し、[TargetControl]でフリガナを挿入したいコントロールを選択するだけです。あとの仕事は全部IMEコンポーネントが行ってくれます。

テキストボックスのReadingStringOutputプロパティ設定
テキストボックスのReadingStringOutputプロパティ設定
漢字のフリガナを自動的に変換して入力する
漢字のフリガナを自動的に変換して入力する

郵便番号の入力設定

 郵便番号コントロールは、郵便番号用のマスク入力とDB Entry .NETの住所検索エンジンによる住所データ取得機能を利用して、入力された郵便番号から住所を検索し表示します。

 Formatプロパティで、入力の際に表示する書式文字列を選べます。

書式選択ダイアログ
書式選択ダイアログ

 入力した郵便番号から変換した住所をどのコントロールに転送するのかは、BuddyKanjiプロパティで指定します。また、フリガナ変換も同時に行うことができ、BuddyKanaプロパティでフリガナを表示するコントロールを指定します。

郵便番号から住所とフリガナを自動入力できる
郵便番号から住所とフリガナを自動入力できる

電話番号の入力設定

 電話番号の入力には、キャラクタボックスコントロールを使用します。このコントロールは、入力インターフェイスにマス目を表示し、矢印キーを押さなくても連続してマス目に数値や文字を入力することができます。

 マス目の追加やサイズ、枠線の設定などは、コントロールのタスクリストから[マス目を設定]を選んで行います。

[マス目を設定]ダイアログでマス目の数や形状を設定する
[マス目を設定]ダイアログでマス目の数や形状を設定する

 また、入力規則の設定もでき、コントロールのタスクリストから[書式を設定]を選んで行います。書式はリストから選ぶと単一の書式が設定され、[カスタム書式の設定]欄で複数の書式を組み合わせることができます。

入力規則の書式を設定する
入力規則の書式を設定する

次のページ
GUIの作成(2/2)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(InputMan)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/498 2009/03/17 11:51

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング