QRCodeの生成 on Excel(なるべく無料で)

ExcelでのQRコードの生成については幾つか方法がありますが、それぞれ一長一短があります。

Microsoft Barcode Controlの場合

  • Microsoft Accessが含まれてないOfficeのエディションでは利用不能
  • 256文字以上生成出来ない
  • 漢字が変換できない

GAPIにxmlhttpする方法

  • 32/64bit不問。
  • 漢字が変換できない
  • 画像を1回ローカルに書き出さないといけない
  • 平文でリクエスト内容が流れる(URLで入力値を送る為)
  • インターネットに繋がっていないと使えない

Psytec様提供のQR Code Image for DOSをShellコマンドで叩く方法

  • 画像を1回ローカルに書き出さないといけない
  • QR生成プログラムをどこかに置く必要がある

今回はこの方法を紹介します。

gist.github.com

JAN(8桁、および13桁)⇒ITF(14桁)変換について

最近仕事で物流システムの開発をしているLunar-Kですが、とある事情から集合包装コードからJANコードへの変換を行う必要が出ました。
但し、JANコードにはGTIN-13(13桁のEAN/JANコード)とGTIN-8(8桁のEAN/JANコード)があります。
そうなるとその変換方法が問題になります。

ITF-14⇒GTIN-13(13桁JAN)への変換の場合ですが、これはGS1(一般財団法人流通システム開発センター)様のサイトにも記述がありますが、

1.先頭1桁目ののインジケータ(PI)を取り除く 
2.末尾のチェックデジットを取り除く
3.12桁となった状態で、13桁目をモジュラス10ウェイト3で再計算

となります。
…では、GTIN-8の場合、ITFコードはどうやって入ってくるのでしょうか?という問題があります。
やっぱり餅は餅屋だろ、ってことで本家に問い合わせてみました。

結論。
こう入ってきます。

「10000049968719」
(インジケータの後ろに、0が5つ付いた状態で入れる)

つまりこうなります。

1.先頭1桁目のインジケータ(PI)を取り除く
2.末尾のチェックデジットを取り除く
3.12桁となった状態で、13桁目をモジュラス10ウェイト3で再計算
4.最後に、フィラーとなっている「0」5桁を取り除く*1

*1:参考:業界別標準化活動(食品軽包装・原材料) | 標準化活動 | 一般財団法人流通システム開発センター 食品軽包装業界 バーコード(JAN シンボル・ITF シンボル) ソースマーキングガイド 第1版 P.51

そういえば

ずっと日記らしい日記を書いていなかったので。

2年前なのですが、通勤で必要になるため、車の免許を取り、車を購入しました。ちょうど2年たって車検に出す前までに75,000kmほど走破しました。流石に、最初からこんなに過走行すると思いませんでしたが、この2年間でだいぶ車に関するノウハウがたまってきたので、ここいらで一気に出してみます。

愛車紹介

日産 ティーダ(15M)


年式はH23年型(2011年)だったかな。1.8万キロ走っていた中古を買いました。
車重1.1tもあるのに、エンジンは日産HR15DE。109馬力しかない。なんとも非力なエンジンちゃんでございます。

とはいえ、これぐらい馬力があれば、軽よりもずっとよく立ち回れます。もちろん高速巡航も出来ます。

しかし、お世辞にも「小さな高級車」というコンセプトから乖離した車内の五月蠅さはどうにもならず、CVTが甲高い音を立てております…。

日本で発売されていない現行モデルではMR16DDT(190〜200馬力帯のダウンサイジングターボ)搭載モデルもあるティーダですが、もう少し日産はこの価格帯の車のウェイトパワーレシオを考え直した方が良いと思います。軽にばっか乗ってるワカモノに目にものくれてやるのだ!(違

過走行が予測される場合の乗り方

エンジンオイル:5000km毎交換(Castrol EDGE+モリドライブ等)

私の場合ですと、往復100〜120kmなので、1ヶ月半〜2ヶ月で5000キロペースです。そんな場合でも、距離に応じてエンジンオイルは真っ黒になっていきます。どんなに家計が厳しくとも、エンジンオイルだけはいつもマシマシ。可能な限りCastrol EDGEを入れておりました。添加剤はお好みでモリドライブ ルブリ等がよろしいかと(0W-20といった低燃費車にも向いた添加剤です)。

CVTF:2回に1回ぐらいは圧送式気持ちいいよ!

私が一番アワアワしたのがこちら。積算走行距離5万キロ(買ってから3.2万km前後)ぐらいから意識し始めたのですが、試しにガソリンスタンドで替えてもらったら、全然真っ黒のまま戻らない。

こりゃまずいということでさらに1万キロ走行後、圧送式ATF交換装置「トルコン太郎」を所有していらっしゃるコミヤオート様に交換をお願いしてみました。なお、CVTFはWAKO'SのHYPER-Sを指定。7.5Lの交換にて、一発で綺麗になりました。工賃だいたい1.6万円前後なり。どうしても循環式で真っ黒なのが戻らないという方は、是非お試しすることをオススメします。

それからは循環式で綺麗になるようになりました。今入れてあるのはCastrolのTRANSMAX CVT。全合成です。悪くはないんですが、WAKO'SからCVTF Premium-Sが出たのですごく……気になっています……また圧送式で替えちまうか……?

吸気系・燃焼室洗浄:RECSマンセー

通称「点滴」と呼ばれるやつです。WAKO'S RECSの施工を、オイル交換4回に1回ぐらいの頻度で入れています。

何をするものかというと、低燃費車によく付いている排ガス再燃焼装置(EGR:Exhaust Gas Recirculation)により燃焼室・スロットルバルブがススやワックス状のもので汚れてしまうのを清掃するものです。

清掃した汚れは燃焼後、多くが白煙として外に排出されます。しかしススはエンジンオイルに落ちるため、エンジンオイルが汚れます。よって本施工はオイル交換の500km手前ぐらいで行う事をオススメします。

また施工には60〜90分前後かかりますので時間に余裕を持てる時に行うことをオススメします。値段は場所によってまちまちですが、安いと6400円前後、高いと12500円前後と工賃に大きく差がありますので、施工業者は選んだ方が良いです。

スパークプラグ

私の場合ですと、年間37500kmペースですので、2年から3年に1回の交換ペースとなります。

スパークプラグを替えると燃費がよくなる、加速がよくなる、材料はイリジウムがよい等いろんなお話があるスパークプラグですが、なぜそもそも、スパークプラグを交換しなければならないのでしょうか?

それは、電極の摩耗により、電極間の距離が長くなることによります。例えば新品時では1000回中1000回点火できていたものが、古くなってくると1000回中950回に落ちたりします。点火出来ないときには、当然燃料はそのまま排出されるし、エンジンはその瞬間、出力が落ちます。過走行車のエンジンが、エンジンルームで低回転域でぷるっぷる振動しているアレは、まさにそういうことによって起きています。

特にティーダはダイレクトイグニッション。電極間の距離が長くなればイグニッションの装置に負担がかかります。

今回の車検で日本特殊陶業製、イリジウムDFプラグ、通称「イリジウム針針プラグ」に替えてみました。かなりエンジン音が静かになったように思います。

改造、パーツ交換

ホイールのインチダウン、AW化、タイヤ交換

元々185/65R15のタイヤを穿いているティーダですが、若干この設定ですとサスやショックが固く、ごつごつした運転フィーリングになります。ちょっとしたマンホールで突き上げを食らってるとお尻が痛いので、1インチ、タイヤをインチダウンし、設置面積を上げてみることにしました。

14インチになると、185/70R14です。キャリパーにまだ余裕があるので、13インチもAWの形状によっては穿けるんじゃなかろうかと思います。

最近MIX師できてないので

転職して2年、完全に忙しくなってしまったのと、電車通勤でなくなったことから、本格的にMIX師らしい活動ができなくなってるので休業してます。

個人的に依頼されれば今までMIXした人の分ぐらいなら受けれると思うです。

フレッツ マンションプランが遅い時のチェックリスト

自宅のネット回線が非常に遅くなってしまったため、色々と試したときのチェックリストを公開します。

速度チェック

 ・ルーター越しにhttp://www.speedtest.net/
 ・ルーター越しにサービス情報サイトの速度テスト ←Javaを1.7系の最終版にしないと動作しませんでした
 ・直接接続でサービス情報サイトの速度テスト ←Javaを1.7系の最終版にしないと動作しませんでした

ルーターのWAN/LANポートの設定

 ・Auto-Negotiationモード、全二重モード、半二重モードのチェック
  →ヤマハルーターなど一部のAuto-negotionに対応したルータにおいて、
   対向側のスイッチやVDSLモデムが速度固定の機器であると、エラーパケットが発生したりする
  →最新機に付け替えた場合はAuto-negotiationとなるので、ルータ側の速度強制指定をやめる。 
 ・あと、盲点なのは、LANポートの先に挿したスイッチングハブ。こちらは最近のものは殆どがAuto-Negotiation。
  よって、ルーターのLANポート側設定で速度固定の設定とするのは良くない。

VDSLモデム側の要因

 ・VH-100E第1世代の機械は、下り100Mbps、上り35Mbpsと非対称モードでしか動作しない。
 ・最近のVDSLモデムは下り100Mbps、上り100Mbpsと、対称モードで動作し、ノイズフィルタの技術も向上している。
 ・VDSLモデムは、初代のVH-100E、VH-100EなどはAuto-Negotiation非対応で、全二重、半二重は、
  ディップスイッチ設定に依存する。今どきのスイッチを付けて低速だった場合は、
  難癖つけてでもVDSLモデムを最新版にしてもらったほうが良い。
  ※VH-1004など。特に10年以上マンションプランを契約の方は交換により改善すると思われる。

.NET Compact Framework(VB.NET)で二重起動防止(Mutexを利用)する方法

Mutexは、ソフトウェアの二重起動の抑止など、さまざまな用途に利用できる排他制御の仕組みです。Digital Equipment Corp.でのVMS開発チームにて開発された、汎用機向けの排他制御の仕組みですが、Windowsには古くから移植されて備わっており、.NET Frameworkでは手軽に利用することが出来ます。

しかし、VB.NET CF3.5ではSystem.Threading.Mutexが無いため、Mutex自体をCoredll.dllからP/Invokeする必要があります。

続きを読む

開発MEMO

お久しぶりです。
昨年4月に転職してからVB.NETによる開発に放り込まれ、ゴリゴリとコードを書く日々が続いています。まさか自分がプログラマーというか、そういう世界に戻ってくることは今後ないだろうと思っていたので「おぉぅ」という感じです。

ブログにも、今後そういうメモ類も書き残していければなと思います。

XML⇒クラス、クラス⇒XML
[.NET][C#]XMLをクラスに変換する/クラスをXMLに変換する | ごった煮 - tips about programming and building a server
VB.NETにも移植できそうなのでメモ。元はC#のソース。分かりやすいとおもう。