通販を始めて半年が過ぎましたが、売上は・・・・・
当店の最大の欠点は取扱商品の少なさと、包装・のしサービスに未対応なことだと思います。

そのハンディを他のサービス向上でちょっとでも埋められないかと頑張っているのが出荷スピード。
もらった注文は在庫があれば即荷造り。準備出来次第に郵便局に集荷依頼をかけています。

これは休日でも実践中。
私が会社へ商品を取りに行ける日なら、その日の内に出荷作業をし郵便局へ持ち込みます。

誰もいない休日の出荷作業で欲しかったのが「ゆうパック送り状プリントソフト」
そこで、MS-Accessで作ってみました。
予定では開発時間2時間のつもりが、ちょっとしたトラブルで4時間以上かかってしまいました。

僕の休日が減っていく😮

出来栄えは、それなりの自信作。
私、MS-Accessの機能の中でレポートが一番好きなんです。
VBAでガリガリ書くと、文字数でフォントサイズを変えたり、表示・非表示のコントロールが出来たり。
かなり複雑なことでも比較的簡単に出来るんですよ。

入力画面はこんな感じ

レポートのデザインビュー

プレビューさせるとこんな感じ

ざっくり版のレポートが出来たら、コピー用紙に試し印字しながら印字位置を調整。
ほぼ場所が確定したところで、今度は実際の送り状で試し印字。
ちょっとずつ印字位置をずらしながら各数字が所定の枠に入るように最終調整。

何度も試し印字した送り状

この種のレポートで一番時間を食うのが、数字をバラバラに分解し、決まった枠に印字させること。
分解するのは「相手先郵便番号」「送り主郵便番号」「代引き口座番号」「代引き請求額」

「相手先郵便番号」「送り主郵便番号」「代引き口座番号」は固定長なので使うのはMID関数。
非連結テキストボックスを必要な数だけ作り1桁ずつずらしながら数字を取り出し、所定位置に並べていきます。

’代引き口座番号の7桁目ならこんな関数
’7桁目から1桁取り出した数字
=MID([代引き口座番号],7,1)

難しいのが「代引き請求額」。桁数が固定してないので2工夫必要
まず、1の桁、10の桁、100の桁、1000の桁と右から取り出す。

1000の桁なら、Right([金額],4)で右から4桁取り出し、その数列をLeft関数で左1桁だけ取り出す。
繋ぐと”=Left(Right([金額],4),1)”が1000の桁の数字です。

このままプログラムを走らせると、4900円なら4桁以上(1000の桁、10000の桁、100000桁)が
全て同じ数字”4″になってしまい444900円と印刷されてしまいます。

そこで2つ目の工夫。
VBAの登場。
1:すべての数字を、まず非可視に設定。
2:請求金額の桁数を求め
3:桁数より小さい金額テキストボックスだけ可視=True変えていく

これで、「ゆうパック代引き送り状プリントソフト」が完成かな! 🙂

「わぁーい、完成だ!」と思ったら、がーん!

郵便局にやられた!送り状が2種類あるぞ

最後の1枚をテスト印字に使った(23-NOZ)と新しく郵便局が持ってき(25-NOZ)

泣き、23-NOZ用レポートが完成したのに用紙を使いきった!

やれやれ、次は25-ZON用レポートの製作かよ・・・・:-(

これが苦労して作った「ゆうパック:代引き送り状レポート(25-ZON版)」

(267 views)

コメントを残す

メールアドレスが公開されることはありません。