CODE128バーコード作成完全ガイド!無料エクセル術と読取対策

目次
CODE128バーコード作成完全ガイド!無料エクセル術と読取対策
CODE128バーコード作成完全ガイド!無料エクセル術と読取対策
@ creator • Click to Play Video Inline
🎵 CODE128バーコード作成完全ガイド!無料エクセル術と読取対策

物流現場や製造ライン、社内資産の管理現場で圧倒的な採用率を誇るバーコード規格「CODE128」。数字だけでなく英数字や記号などアスキーコード全128文字を極めて高い密度で表現できるため、日々の業務改善に欠かせない標準規格となっています。

しかし現場では、「エクセルで作成したバーコードがリーダーで一切読み取れない」「GS1-128との違いが分からず取引先から差し戻された」といったトラブルが後を絶ちません。今回は、Excelでの無料生成ノウハウからチェックデジットの計算アルゴリズム、読み取りエラーを根本から防ぐ印刷のコツまで、現場で役立つ実践知識を余すところなく解説します。

📌 【この記事の重要ポイントまとめ】
  • 要点1:CODE128はエクセル標準機能だけでは印字できず、スタート/ストップコード付与とチェックデジット計算を含む文字列変換が必須である。
  • 要点2:GS1-128との決定的な違いは識別子(FNC1)の有無にあり、用途に応じた厳密な使い分けが求められる。
  • 要点3:読み取り失敗の主因は「余白(クワイエットゾーン)不足」と「印字のかすれ・にじみ」であり、解像度とマージンの確保で劇的に改善する。

【基礎知識】CODE128の桁数制限と仕様まとめ|ASCII全文字対応の強み

CODE128は、1981年に開発された高密度な2値型バーコードシンボルです。最大の強みは、アスキーコード(ASCII)に定義された0番から127番までの全128文字(数字・アルファベット大文字小文字・特殊記号・制御コード)を1つの体系で完全に網羅できる点にあります。

シンボル内部は、データの種類に応じて効率性を最大化する3つのコードセットで構成されています。

  • コードセットA:アルファベット大文字、数字、標準記号、制御コード(CR/LF、TABなど)
  • コードセットB:アルファベット大文字・小文字、数字、標準記号
  • コードセットC:00〜99の「2桁の数字」を1キャラクターで表現(数字のみのデータ長を半減可能)

CODE128の仕様上の桁数制限については、規格上「最大文字数の厳密な上限」は定められていません。しかし、文字数が増えるほどバーコード全体の横幅が物理的に伸びてしまいます。一般的なバーコードスキャナーの読み取り視野角やA4ラベルの印刷幅を考慮すると、実務上の推奨文字数は20〜30文字程度、最大でも80文字未満に抑えるのが現場運用の鉄則です。

【無料実践】Excelだけで作るCODE128!無料フォント導入とVBAマクロコード

高価な専用ラベル発行ソフトを導入しなくても、エクセルと無料フォントを組み合わせることで完全内製化が可能です。ただし、セルに文字を入力してフォントをバーコードに変更するだけではスキャナーで読み取れません。CODE128には「スタートコード」「チェックデジット」「ストップコード」をデータの前後に正確に付加する変換処理が必要だからです。

ステップ1:CODE128用無料フォントの導入手順

まずはオープンソースやフリーライセンスで配布されているCODE128用TrueTypeフォント(例: Code 128 Font)をダウンロードします。ダウンロードした「.ttf」ファイルを右クリックし、「すべてのユーザーに対してインストール」を実行すれば、エクセルのフォント一覧にバーコードフォントが反映されます。

ステップ2:チェックデジット自動計算と文字列変換のVBAマクロコード

エクセルの「開発」タブからVisual Basic Editor(VBA)を開き、標準モジュールに以下の変換関数を記述します。英数字(コードセットB)を自動変換する軽量マクロコードです。

Function Encode_Code128B(SourceVal As String) As String Dim i As Long, charVal As Long, checkSum As Long Dim checkDigit As Long, encodedStr As String If Len(SourceVal) = 0 Then Encode_Code128B ="" Exit Function End If ' スタートコードB (値: 104) checkSum = 104 encodedStr = Chr(204) ' フォント依存のスタート文字B For i = 1 To Len(SourceVal) charVal = Asc(Mid(SourceVal, i, 1)) - 32 checkSum = checkSum + (charVal * i) encodedStr = encodedStr & Mid(SourceVal, i, 1) Next i ' モジュロ103でチェックデジットを算出 checkDigit = checkSum Mod 103 ' チェックデジットの文字マッピング If checkDigit < 95 Then encodedStr = encodedStr & Chr(checkDigit + 32) Else encodedStr = encodedStr & Chr(checkDigit + 100) End If ' ストップコード (値: 106) encodedStr = encodedStr & Chr(206) Encode_Code128B = encodedStr End Function 

セルに =Encode_Code128B(A2) と入力し、そのセルのフォントをインストールしたCODE128フォントに設定することで、スキャナーで瞬時に認識される正規のバーコードが描画されます。

【計算ロジック】CODE128チェックデジットの計算式と算出アルゴリズム

CODE128の信頼性を支えているのが、誤読を防止するモジュロ103(Modulo 103)チェックデジットです。チェックデジットはバーコード内に埋め込まれますが、末尾の数字としてヒューマンリーダブル(人間が読む文字)に表示されるわけではありません。

計算のアルゴリズムは以下の明確なルールで処理されます。

  1. スタートコードのキャラクタ値を取得する(コードセットA=103、B=104、C=105)。
  2. 各データ文字のキャラクタ値に対し、1から始まる「データの位置(ウェイト値)」を順番に乗算する。
  3. スタートコード値と、各文字の乗算結果をすべて合計(Sum)する。
  4. 合計値を「103」で割り、その余り(Mod 103)をチェックデジットの値とする。

例えば、文字列「AB」をコードセットBでエンコードする場合、スタートB(104) + 'A'(値33 × 1) + 'B'(値34 × 2) = 104 + 33 + 68 = 205 となります。205を103で割った余りは「102」となり、この102に対応するシンボルキャラクタがデータ末尾に自動挿入されます。

【徹底比較】GS1-128とCODE128の違いと使い分け|物流標準の識別ルール

現場で最も混同されやすいのが「通常のCODE128」と「GS1-128」の違いです。バーとスペースのシンボル構成自体は全く同じ物理規格を採用していますが、データ構造の国際標準ルールにおいて明確な一線が画されています。

項目CODE128GS1-128
FNC1キャラクタ任意(通常は先頭に含まない)先頭に必須配置(国際標準の識別用)
データ構造完全自由(社内コード、独自英数)AI(アプリケーション識別子)で厳格に定義
主な用途社内物品管理、製造指示書、工程管理コンビニ収納代行、医療材料、国際物流パレット

GS1-128では、データの先頭に必ず「FNC1(ファンクション1)」コードが配置され、それに続いて「(01)商品コード」「(10)ロット番号」「(17)有効期限」といった世界共通の識別番号(AI)が連結されます。社内完結の管理であれば自由度の高いCODE128を、サプライチェーンをまたぐ取引先連携にはGS1-128を選定するのが正しいアプローチです。

【トラブル解決】バーコードが読み取れない原因と対処法|印刷かすれを防ぐ現場の知恵

「作成したバーコードにスキャナーをかざしてもピピッという確認音が鳴らない」という場合、原因の9割はデザイン仕様か印刷精度のいずれかにあります。

1. クワイエットゾーン(左右の余白)の不足

バーコードの左右には、最小バー幅(ナローバー)の10倍、または2.54mm以上の完全な余白が必要です。枠線やセルの境界線がバーの直前に迫っていると、リーダーはバーコードの開始地点を識別できません。

2. モノクロ2値のアンチエイリアスによるボケ

Excelの画像を縮小・変形したり、低解像度のPNG画像を貼り付けたりすると、境界線にグラデーション(アンチエイリアス)がかかり、バーの太さを誤認識します。解像度は最低でも300dpi以上を維持し、拡大縮小を行わない原寸印刷が基本です。

3. サーマルプリンターの印字かすれ・ヘッド摩耗

ラベルプリンター(感熱式・熱転写式)では、サーマルヘッドの汚れや温度設定(ダークネス)不足によるかすれが発生します。バーの方向を用紙の送り方向に対して平行(縦方向)に配置することで、ヘッドの一部欠けによる読み取り不能リスクを最小限に抑えられます。

【ツール厳選】CODE128オンライン無料生成ツールと商用利用時の注意点

「数枚だけ即座に高品質なバーコードラベルを発行したい」という場面では、ブラウザ上で動作する無料のオンライン生成ツールが有効です。SVGや高解像度PNGでベクター出力できるジェネレーターを活用すれば、印刷クオリティの低下を防げます。

無料ツールやフリーフォントを業務に導入する際は、以下の商用利用における法的留意点を必ずクリアしてください。

  • 商用ライセンスの確認:個人利用限定(Non-commercial)ではなく、「Commercial use free」「SIL Open Font License」または「MITライセンス」が明記されているか。
  • データ送信のセキュリティ:オンライン生成サイトを利用する場合、社外秘のシリアル番号や顧客識別IDをWeb経由で送信していないか(クライアント側のJavaScriptで完結するツールが安全)。
  • バー幅補正機能(BWR):インクの滲み(太り)を見越してバーの幅を微小に細く補正できるツールを選ぶと、インクジェット印刷時の歩留まりが飛躍的に向上します。

【バー コード 作成 code128】に関するよくある質問(FAQ)

Q1:CODE128には日本語(ひらがな・漢字)を含めることができますか?
A1:いいえ、標準のCODE128はASCII 0〜127までの半角文字に限定されているため、日本語(全角文字)は格納できません。日本語データをバーコード化したい場合は、2次元コードである「QRコード」や「DataMatrix」の採用を検討してください。

Q2:エクセルでバーコードフォントを設定したのにスキャンできません。何が原因ですか?
A2:スタートコード、チェックデジット、ストップコードが正しく付与されていない可能性が極めて高いです。単に文字の見た目をフォントで変更しただけではリーダーは認識しません。本記事で紹介したVBAマクロ等を用いて、適切なコード値に変換した文字列に対してフォントを適用してください。

Q3:一般的なバーコードリーダーでCODE128は初期状態で読み取れますか?
A3:市販されているほぼすべての1次元・2次元バーコードリーダーがCODE128のデコードに標準対応しています。読み取れない場合は、リーダーの設定マニュアルを確認し、「CODE128の読み取り許可」がオフになっていないか、あるいはバーコードの最小モジュール幅がリーダーの光学分解能を下回っていないかを確認してください。

まとめ:正確な仕様理解とテスト印刷が内製化成功のカギ

CODE128は、高い情報密度とASCIIフル対応という柔軟性を備え、現代のトレーサビリティ管理を支える中核技術です。エクセルを活用した無料の自動作成環境を構築できれば、業務コストを大幅に削減しつつ現場のオペレーションを迅速化できます。

システムを本稼働させる前には、必ず実機スキャナーによる複数アングルからのテストスキャンを行い、クワイエットゾーンや印字コントラストに問題がないかを検証しましょう。正確なデータエンコードと適切な印刷環境を整え、トラブルのないスマートなバーコード運用を実現してください。 (出典: バー コード 作成 code128(Yahoo!ニュース)

バー コード 作成 code128
バー コード 作成 code128
バー コード 作成 code128