はじめに
PlusPak for Windows Forms 5.0JのGcBarCodeコンポーネントを使うと、バーコードを簡単に作成できます。今回は、商品の倉庫管理用バーコードを作成するアプリケーションを作ってみました。
このアプリケーションでは、倉庫、棚、商品の各番号を組み合わせてバーコードを作成します。作成したバーコードは、ビットマップ画像として保存されるので、Excelやデータベースなどのアプリケーションで一括管理できます。

対象読者
Visual Basic 2005・2008またはVisual C# 2005・2008を使ってプログラムを作ったことのある人。
必要な環境
Visual Basic 2005、2008またはVisual C# 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がインストールされていることが必須条件です。
コントロールのインストール
はじめてPlusPak for Windows Forms 5.0Jを使用する方は、Visual Studio、Visual Basic、Visual C#の開発環境にPlusPak for Windows Forms 5.0Jをインストールする必要があります。インストーラは、グレープシティのWebページからダウンロードできます。
ユーザー情報を登録すると送られてくるメールに、ダウンロード用のURLが記載されているので、ここからダウンロードしてインストールしてください。ファイルはzip形式で圧縮されています。
有償のコントロールですが、プロダクトキーを入力せずにインストールすることで、トライアル版として使用できます。制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。
コントロールの追加
PlusPak for Windows Forms 5.0Jをインストールしたら、ツールボックスに専用のタブを作成し、使用するコントロールを追加します。追加するコントロールは、「.NET Frameworkコントロール」のアセンブリ名が「GrapeCity.Win.PlusPak」で始まるコントロール「GcBarCode」です。
GUIのデザイン
今回使用するコントロールです。GcBarCodeコンポーネント以外は、標準コントロールで構成します。

GcBarCodeコンポーネントについて
GcBarCodeコンポーネントは、バーコードを作成するコントロールです。チェックデジットの自動計算、サイズ設定や回転処理、データ連結など多彩な機能を備えており、数値と種類の指定のみで簡単にバーコードを出力できるのが特徴です。また、解像度にあわせて最適なバーコードイメージを生成することにより、高い読み取り率を実現しています。
GcBarCodeコンポーネントは、次のバーコードの種類に対応しています。
- Code39(FullAscii)
- Code49
- Code93
- Code128
- EAN8
- EAN13
- EAN128
- ITF
- NW-7(Codabar)
- PDF417
- PostNet
- QRコード
- UPC(A/E add 2/5)
- カスタムバーコード(郵便バーコード)
今回は、一般的によく使われている横棒型のバーコードで、13桁の数字でコードを表す「JAN13」タイプのバーコードを作成します。
一般的に流通している商品は、バーコードの先頭に日本の国籍を表すコード(49または45)やカンパニーコードを付加していますが、このアプリケーションでは社内の管理用に使用するということにし、国籍コードやカンパニーコードは入れず、倉庫の番号と棚番号、商品番号からバーコードを作成するという単純な機能にしています。
GcBarCodeコンポーネントの使い方は簡単です。Typeプロパティに作成するバーコードのタイプを次の定数から選びます。
| メンバ名 | 説明 |
|---|---|
| 6 - JAN8 | JAN/EAN 8桁バーコード |
| 7 - JAN13 | JAN/EAN 13桁バーコード |
| 8 - EAN128 | UCC/EAN128バーコード |
| 1 - Code39 | CODE39(フルアスキーもサポート) |
| 4 - Code93 | CODE93 |
| 5 - Code128 | CODE128 |
| 9 - ITF | ITF(Interleaved 2of5) |
| 10 - PostNet | POSTNET(USで使用される郵便バーコード) |
| 13 - UPC | UPC(A/E/アドオンにも対応) |
| 17 - NW7 | NW-7(CODABAR) |
| 18 - JapanesePostal | 郵便バーコード |
| 3 - Code49 | Code49 |
| 19 - PDF417 | PDF417(簡易版も対応) |
| 20 - QRCode | QRCode(Model1/2に対応) |
そして、Valueプロパティにバーコードにする値を設定します。
実際にバーコードを作成するのは、CreateBitmapまたはCreateMetafileメソッドを使用します。CreateBitmapメソッドはバーコードをビットマップ形式で、CreateMetafileメソッドはメタファイル形式で、画像イメージファイルとして出力します。
このプログラムでは、バーコードをビットマップ形式で保存するようにします。
コードの作成
コーディングはそんなに難しくありません。2つのComboBoxとTextBoxコントロールの値を連結し、GcBarCodeコンポーネントのValueプロパティにセットします。そして、CreateBitmapメソッドを実行し、バーコードをビットマップに保存します。
保存するファイル名は、「BarCode1.bmp」「BarCode2.bmp」と、バーコードを連続して作成できるように連番を振ったファイル名にします。
CreateBitmapメソッドは、引数に画像解像度のDPI値を指定できますので、ここでは120DPIのビットマップファイルを作成するようにしています。作成したビットマップはImageオブジェクトとして変数に格納し、Saveメソッドを実行してファイルに保存します。
なお、コード作成の際は、GrapeCity.Win.BarCode名前空間をインポートしてください。
Imports GrapeCity.Win.BarCode
Public Class Form1
Private icount As Integer = 1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Me.ComboBox1.Items
.Add("101")
.Add("102")
.Add("103")
.Add("201")
.Add("202")
.Add("203")
.Add("301")
.Add("302")
End With
With Me.ComboBox2.Items
.Add("01")
.Add("02")
.Add("03")
.Add("04")
.Add("05")
.Add("06")
End With
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim codenumber As String
codenumber = ComboBox1.Text & ComboBox2.Text & TextBox1.Text
TextBox2.Text = codenumber
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
With GcBarCode1
.Type = GrapeCity.Win.BarCode.ValueType.BarType.JAN13
.Value = TextBox2.Text
End With
Dim imgBarcode1 As Image = GcBarCode1.CreateBitmap(120)
Dim fname As String = "j:\barcode\BarCode" & icount & ".bmp"
imgBarcode1.Save(fname, System.Drawing.Imaging.ImageFormat.Bmp)
icount += 1
End Sub
End Class
using GrapeCity.Win.BarCode;
namespace mybarcode_cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int icount = 1;
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("101");
comboBox1.Items.Add("102");
comboBox1.Items.Add("103");
comboBox1.Items.Add("201");
comboBox1.Items.Add("202");
comboBox1.Items.Add("203");
comboBox1.Items.Add("301");
comboBox1.Items.Add("302");
comboBox2.Items.Add("01");
comboBox2.Items.Add("02");
comboBox2.Items.Add("03");
comboBox2.Items.Add("04");
comboBox2.Items.Add("05");
comboBox2.Items.Add("06");
}
private void button1_Click(object sender, EventArgs e)
{
string codenumber;
codenumber = comboBox1.Text + comboBox2.Text + textBox1.Text;
textBox2.Text = codenumber;
}
private void button2_Click(object sender, EventArgs e)
{
gcBarCode1.Type = GrapeCity.Win.BarCode.ValueType.BarType.JAN13;
gcBarCode1.Value = textBox2.Text;
Image imgBarcode1 = gcBarCode1.CreateBitmap(120);
string fname = "j:/barcode/BarCode" + icount + ".bmp";
imgBarcode1.Save(fname, System.Drawing.Imaging.ImageFormat.Bmp);
icount++;
}
}
}
Service Pack 1について
なお、PlusPak for Windows Forms 5.0Jの最新版であるSP1では、新たに「GS1 DataBar」(RSSシンボル)にも対応しています。これにあわせ、Typeプロパティに次のものが追加されています。
| メンバ名 | 説明 |
|---|---|
| 22 - RSS14 | RSS14(GS1 DataBar) |
| 24 - RSS14Stacked | RSS14 Stacked(GS1 DataBar Stacked) |
| 25 - RSS14StackedOmnidirectional | RSS14 Stacked Omnidirectional(GS1 DataBar Stacked Omnidirectional) |
| 23 - RSS14Truncated | RSS14 Truncated(GS1 DataBar Truncated) |
| 26 - RSSExpanded | RSS Expanded(GS1 DataBar Expanded) |
| 27 - RSSExpandedStacked | RSS Expanded Stacked(GS1 DataBar Expanded Stacked) |
まとめ
GcBarCodeコンポーネントは、サンプルプログラムを見てお分かりのように、とても簡単にバーコードを作成します。在庫管理や売り上げ管理、固定資産管理など、今やバーコードは当たり前のようになっているので、バーコード作成のアプリケーションを自社開発するのであれば、このGcBarCodeコンポーネントはとても大きな威力を発揮すると思います。
今回は、ドロップダウンリストから倉庫・棚・商品の番号からバーコードを作成する簡単な機能にしていますが、バーコードにするデータをExcelのワークシートで一覧表にし、一気にバーコードを作成する、などということも可能です。ぜひ試してみてください。



