投稿

9月, 2025の投稿を表示しています

バーコードフォントを使用してCODE-128のバーコードを作成する

バーコードリーダーを使って入力の手間を省きたいと思う。 Excelで印刷イメージを作成する場合、CODE39のバーコードフォントを使用したり、バーコードのオブジェクトを使用する方法が簡単である。 ただし、CODE39では取り扱える文字が限定されていたり、環境によりExcelのバーコードオブジェクトが使用できない、等の事情がある場合もある。 文字数が多いCODE128を、バーコードフォントを使用してい印刷する場合、いくらか工夫が必要になる。 ・チェック文字の問題: 計算の必要がある。バーコードリーダーの設定が可能であれば、チェック文字を省くことで対応も可能 ・フォントによる文字コードとパターンの対応の違い: 使用するフォントにより文字コードとパターンの対応が異なるため、使用するフォントに従って変換が必要。 チェック文字の計算や、文字コードの対応の違いなど、(コードセットB限定にすれば)Excelの関数(LET+α)で対応が出来たが、VBAでの計算・変換も試してみた。 使用するフォントは、0~94のコードが、32~126までの文字のパターン、95~105が、195~205の文字のパターン、終端が206の文字のパターンに割り振られていることを想定している。 Option Explicit ' CODE-128 バーコード ' ' GS-1 制限:先頭にFNC1、最大データ容量48文字 ' '入力 ASCII ' 0-127 ' ' EncodeCtrlAsc ' EncodeCtrlCode128 ' EncodeCode128 ' AddCheckSum ' FontCode ' ' 'encode ASCII, Code128 系の文字列>文字変換 ' FUNC = 195(#95 a127), 196-205,206(#96 - #105,ed) ' $ Code128系特殊コード ' $$ $ ' $96-$106 これが、196-206に変換される ' $[STARTA] $103 2...