オフィス業務で最も需要が高いのが、Microsoft Excelを利用した一括バーコード発行です。専用ソフトを購入せずとも、無料のCODE128用バーコードフォントとVBAマクロを組み合わせることで、実用に耐えうるシステムを自作できます。
オープンソースコミュニティやGitHubなどで配布されている「Code 128 Font」をWindowsやMacにインストールするだけで準備は可能ですが、前述の通り「セル内の文字列をそのままフォント変更してもスキャナーは反応しない」点に最大の罠があります。
エクセルで実用的なCODE128を作成するには、以下の計算処理をVBA(マクロ)や専用数式で実行し、エンコード後の文字列を出力する必要があります。
- スタートキャラクタの決定:コードセットBを使用する場合はキャラクタ値「104」を先頭に設定。
- チェックデジットの計算:
数式:Check Digit = (Start Value + Σ(各文字のキャラクタ値 × 文字位置の重み)) Mod 103
※先頭の文字位置を1とし、2文字目はウェイト2、3文字目はウェイト3を掛けて合計を算出します。 - ストップキャラクタの付与:キャラクタ値「106」を末尾に結合。
- フォント用文字へのマッピング:算出したチェックデジットおよび特殊制御文字を、フォントセットに対応するASCII表示文字(ASCII 32〜126および拡張領域)に変換してセルに出力。
この変換ロジックを通した後の文字列に対して初めて「CODE128バーコードフォント」を指定することで、あらゆるバーコードリーダーで一発読み取りが可能な正規のコードが完成します。