エクセルでCODE39のバーコードを作ることになる

商品コードは長くなりがちなのでバーコード化してバーコードリーダーで読み取ると便利だ。というわけで業務システムから商品コードのバーコード一覧を出せるようにしている。
しかし、それだけでは賄えないケースもある訳で、エクセルに吐き出した商品コードをバーコードにしたいという依頼が来た。

通常情シスはこういった類の依頼を受けてはいけない。
なぜなら本筋の業務システム以外の所で作ったツールが業務に組み込まれると、属人化と独り歩きによって後々自分の首を締めることになるからだ。今回のようなエクセルのツールだと尚更だ。業務システムの機能追加などで対応するのが筋だろう。

そうは言っても例外はある訳で、
今回の状況をヒアリングすると、確かに効率化とミスの削減が見込めるようなのでエクセルでバーコードを作成する件に対応することにした。

バーコードを作ることに

エクセルでバーコードを表示できることは知っていたが、具体的な方法が分からなかったので調べた。
大まかには次の流れになる。

a.商品コードにスペースを付加。固定長の桁数になるまで。
b.aを元にチェックデジットを計算
c.aとbを結合
d.指定のセルにセット

当初はエクセルのみでやりたかったのだが、やはりマクロでないと厳しかった。
マクロを有効にする、をユーザに押させると、他の怪しいマクロも惰性で押してしまうので避けたかったのだが。


ExcelVBAは忘れた頃に少し触るというパターンが多いので、毎回調べ調べになる。VBAでそれ程複雑なことはしないので(メンテンスしたくない)、それでも何とかなる。

問題は自称「マクロに詳しい人」(非情シス)が、知らぬ所で勝手に作っていたマクロが日常業務に組み込まれていたという場合だ。
こういう手合には常に目を光らせて、見つけ次第サポート対象外であることをはっきりと言っておかなければならない。
さもなくば、ある日突然仕様も定かでない素人マクロをメンテンスせよという恐怖に見舞われることになる。

バーコードフォントが必要

少し話が逸れたが、あとはバーコードのフォントを使用するPCに入れておかないといけない。
今回はCODE39なのでCODE39のバーコードフォントを検索してインストールした。
利用者に伝え忘れがちだが、これがないとバーコードにならないので注意。

コメント

タイトルとURLをコピーしました