vbaで任意文字列の有無を調べる方法


If InStr(Me![品名], "大野") <> 0 And InStr(Me![品名], "卓上") <> 0 Then
Me![Yamato荷扱1] = "ワレ物注意"
Me![Yamato荷扱2] = "天地無用"
End If

If InStr(Me![品名], "大野") <> 0 And InStr(Me![品名], "ぱりぱり") <> 0 Then
Me![Yamato荷扱1] = "ワレ物注意"
End If

If InStr(Me![品名], "そうめん") <> 0 Or InStr(Me![品名], "素麺") <> 0 Then
Me![Yamato荷扱1] = "ワレ物注意"
Me![Yamato荷扱2] = "水濡厳禁"
End If

上のスクリプト、通販の受注商品でヤマト運輸の送状「取扱注意1と2」の記入内容を切替えるもの。

文字列の有無はInStr

2018年4月1日、宅配料金が大幅値上げ!
4月から「ヤマト運輸」に乗り換えました。

で、始めたのが直営ショップ「徳島オンラインショップ」用に作った送付状印刷vbaプログラムのカスタマイズ。
元「ゆうパック」用プログラムに、ヤマト運輸送付状印刷ソフト「B2」CVSファイル生成機能を追加。

商品名に
「大野 ぱりぱり」が含まれていれば「ワレ物注意」
「大野 卓上のり」が含まれれば「ワレ物注意」「天地無用」
「そうめん」「素麺」の場合、「ワレ物注意」「水濡注意」


InStr文を、必要な数だけifで並べました。(もっとスマートな方法あるのかな?)

我ながら今回の追加機能、すごく便利!
「指定時間」「代引」「取扱注意」を処理しながら複数枚の送状印字がスイスイ!
MS-Accessプログラム無しのネットショップ運営、僕には想像出来な・・・・

宅配会社を変えるみたいな時、ライバル店はどうしてるんだろう?
ライバルもみんな自作vbaプログラムなのかな?
それとも、あの使いにくいFileMaker?
プログラムを外注すると粗利が吹っ飛んでしまうよな・・・
大手はC#?

(192 views)

コメントを残す

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