はじめに
前回紹介したバーコードを作成するプログラムが、思ったより注目を浴びたようなので、調子に乗って第二弾を作ることにしました。今回は、Excelのワークシートに入力されている商品の管理番号からバーコードを作成し、それをExcelのワークシートに添付していくアプリケーションとなっています。
使用するコンポーネントは、PlusPak for Windows Forms 5.0JのGcBarCodeコンポーネントで、今度はCode39というバーコードのフォーマットを使用し、アルファベットが入った数字データからバーコードを作成します。Excelデータの読み込みは、VBおよびC#からExcelを呼び出して操作します。
なお、Excelの各オブジェクトおよび所属するメソッド、プロパティ等はVisual Basic for Applications(VBA)によって操作するように作られているため、Visual Basicから操作する場合は何ら問題にならないのですが、C#でこれらのオブジェクトを操作する場合は、プロパティやメソッドのパラメータの受け渡し、省略可能なパラメータの使い方、パラメータ化されたプロパティの使い方などで、そのままコーディングするとエラーになるという問題が発生します。
エラーを回避するための処理はあるのですが、コードがかなり煩雑になったり、VBでは簡単にできるプロパティのパラメータに変数を当てる使うコードなどは複雑なコードにならざるを得ない、という点から、今回はVisual Basicのみのコードの紹介とします。
対象読者
Visual Basic 2005・2008を使ってプログラムを作ったことのある人。
必要な環境
Visual Basic 2005、2008、Visual Studio 2005、2008でプログラムが作れる環境。なお、本プログラムはWindows Vista上で動作するVisual Studio 2005を使用して作成し、動作確認を行っています。
プログラム実行時の注意事項
PlusPak for Windows Forms 5.0Jを使って作成したアプリケーションを配布する場合、PlusPak for Windows Forms 5.0Jのアセンブリファイルを添付する必要があります。これは、Common Language RuntimeのDLLをアプリケーションと一緒に配布するのと同じです。
本記事のサンプルアプリケーションを正常に動作させるためには、次の4ファイルをインストールする必要があります。
ファイル名 | 説明 |
---|---|
GrapeCity.Win.PlusPak.v50.dll | 本体コンポーネント |
GrapeCity.Framework.PlusPak.v20.dll | 製品のフレームワーク |
GrapeCity.Win.PlusPak.v50.resources.dll | 本体コンポーネントのサテライトリソース |
GrapeCity.Framework.PlusPak.v20.resources.dll | 製品フレームワークのサテライトリソース |
これらのファイルを、プログラムを実行するBinフォルダに格納します。 .NET Framework 2.0から追加されたクラスやメンバを使用しているので、.NET Framework 2.0がインストールされていることが必須条件です。また、使用しているコンピュータに次のフォルダを作成し、同梱してあるExcelのデータブックをそこにコピーしてください。
c:\barcode
なお、プログラムを実行するには、使用しているコンピュータにExcel 2003または2007がインストールされている必要があります。
コントロールのインストール
はじめてPlusPak for Windows Forms 5.0Jを使用する方は、Visual Studio、Visual Basicの開発環境にPlusPak for Windows Forms 5.0Jをインストールする必要があります。インストーラは、グレープシティのWebページからダウンロードできます。
ユーザー情報を登録すると送られてくるメールに、ダウンロード用のURLが記載されているので、 ここからダウンロードしてインストールしてください。ファイルはzip形式で圧縮されています。有償のコントロールですが、プロダクトキーを入力せずにインストールすることでトライアル版として使用できます。制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。
コントロールの追加
PlusPak for Windows Forms 5.0Jをインストールしたら、ツールボックスに専用のタブを作成し、使用するコントロールを追加します。追加するコントロールは、「.NET Frameworkコントロール」のアセンブリ名が「GrapeCity.Win.PlusPak」で始まるコントロール「GcBarCode」です。