解決時1000pt

バーコードリーダーで読み取った情報の最初と最後の文字を消したい。

佐川、レターパックプラスの伝票をバーコードリーターで読み取ると
IMEを半角英数にしている場合はA403479371111AやD403479371111Dと読み込み、
且つ改行(エンターキー)が押される。
という処理が行われます。
全角ひらがなの状態であれば入力文字がA403479371111Aこのように
全角になり、エンターキーは押されないパターンと
半角で入力され、やはりエンターキーは押されないという2種類のパターンが確認されました。
全額ひらがなの時にパターンが変わってしまうのは、メモ帳に書き出すときとヤフオクの所定のぺージで書き出す場合で
違う結果になるということかもしれませんが詳細調査はまだしていません。
コメント欄に続きます・・・

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2018/10/09 08:18:31
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:orekojinn

こちらの状況を詳しく記載します。

ヤフオクで出荷した商品の伝票番号をお客さんにお知らせするときにヤフオクの発送通知のページ内でバーコードリーダーを使用し、

伝票番号を読み込んでいます。

現在は半角英数で読み込みをするのでA403479371111Aこのように最初と最後に余計な文字が入ってしまい、

且つ、エンターキーの処理がされますので確認ページに移動してしまいます。

ですので確認ページから1つ前のページに戻り、手動で前後のAの文字を削除し、改めて、確認ページへと進み、確認ボタンを押す。

という流れです。

最初と最後の文字を消す際の誤削除を防ぐため、また消す手間を省く為に何とかして自動で前後の文字を消したいと思っています。

またできればA403479371111Aのかたちを4034-7937-1111というように4桁ずつ区切るハイフンを入れることができれば最高です。

何か良い方法は無いでしょうか。

今考えられるのはエクセルで関数を使って必要な値を得てそれをコピペするというやり方ですが、

エクセルを使うことなくもっとシンプルにそれを実現する方法はないでしょうか。

もし何かご存知の方、良いアイデアをお持ちの方いらっしゃいましたらお知恵を貸して頂ければ幸いです。

どうぞよろしくお願いいたします。

ベストアンサー

id:bnn No.2

回答回数120ベストアンサー獲得回数39

ポイント1000pt

バーコードリーダーが必要なほど発送を行うことはありませんが、効率化は好きなのでこんな方法もあるんだなと。試しにレターパックをスマホでスキャンしてみましたが、前後に一文字ずつ入っていました。
郵便の送り状などで使われる、NW-7という種類バーコードのようです。

それはさておき、一番簡単だと思うのがバーコードリーダー自体に読み取った文字列を編集して出力する機能を持ったものを探すこと。
少し調べてみましたが、結構あるみたいです。

例えばCM-890の説明書ですが
https://www.a-poc.co.jp/download/pdf/CM-890-Manual-E.pdf#page=56
前方から何文字、後方から何文字と桁を指定して削除させることができるようです。
また、2つまでコード挿入できるみたいなので、4桁と8桁目に「-」を挿入。
といった感じにプログラミングすれば、目標を達成できるかと思います。
この機種は説明書がわかりやすかったのですが、Amazonで見ても1万円とちょっとした出費になりそうです。

他に手ごろな機種でないかとAmazonで調べてみると
SD-120
http://www.media9.co.jp/m_tuhan/manual/Champtekjapanver5.00.pdf#page=54
BC-BR900L-W
https://www.busicom.co.jp/h/pdf/BC-BR900L_Ver122.pdf#page=10

と、文字を削除する機能は低価格な機種でもありました。
SD-120に関しては任意の場所にコード挿入ができるみたいですが、2か所でできるのかわかりませんでしたので気になるようであれば問い合わせてみて下さい。

こう見ると、もしかすると機能としては割と一般的なのかもしれません。
お持ちの機種もこれらの機能があるかもしれないので、まずは確認してみてはいかがでしょうか。

他2件のコメントを見る
id:bnn

この場合PC内で処理しようとすると特別なソフトを作らない限り手順がかかりすぎる気がしたので、後は理想形である端末側で処理できないか調べてみたといった感じでしょうか。
最終的には(バーコードリーダー 文字 削除) みたいな感じで引っかかったと思います。

BC-BR900L-W はシリアル番号によって説明書が違うようなので、Webから見るのであればこちらから該当の設定マニュアルを参考に。
https://www.busicom.co.jp/h/bc-br900l.html
先ほど貼ったリンクはVer1.22の方ですが、これで言うと左側 3.6 Codebar (NW7)「スタート/エンドキャラクタ送信」のOFFのバーコードをスキャンすれば、前後の文字は消えるのではと思います。
説明書を見る限り文字の付加は前後にしかできないようなので、間に「-」を挿入する方法は無さそうですかね。

ちなみに3ページの2.2.4が読み取り後にエンターキー処理になる部分の設定に見えます。
前後の文字削除だけでハイフン無しで良いならそのままで良いですが、手動でハイフンを入れるのであればNoneをスキャンすれば勝手に確認ページに飛ばなくなるのかなと思います。

設定の際は各ページ上下にある設定開始と設定終了のバーコードをスキャンする必要がありそうなので忘れずに。

2018/10/09 01:45:23
id:orekojinn

ご回答ありがとうございます。
私は端末側で処理できるのではないかという発想には全く至らず、エクセルを含め何らかのプログラムで対応する以外に無いと決めつけてしまっていました。
今BC-BR900L-Wで指定コードの読み込みをしましたところ思う結果が得られ有難く思います。
また検索に関してもお知恵を頂きありがとうございました。

2018/10/09 08:18:07

その他の回答1件)

id:Asayuri No.1

回答回数309ベストアンサー獲得回数65

 
エクセル関数を使用することが一番早い解決方法のように思います
  
読み取った 文字数字データが エクセルの A列の1行目から数万行に 入れてあるものとして 回答します
 
セルB1に =RIGHT(A1,LEN(A1)-1)
セルC1に =LEFT(B1,LEN(B1)-1)
セルD1に =TEXT(C1,"0000-0000-0000")
 
を入力します
 
セルB1 セルC1 セルD1を コピーして 2行目からデータ最終行までに 貼り付け をします
 
D列を コピーしてから E列に 値貼り付け をします
 
これで E列にお望みのデータを 作成することができます
 
 
 
 

id:orekojinn

ありがとうございます。関数でやる場合はその記述でいけるんですね。
当案件に関してはデータをバーコードリーダー自体で編集できるというものがあるようなので、今回はそちらのやり方で進めようと思っています。ありがとうございました。

2018/10/08 23:39:31
id:bnn No.2

回答回数120ベストアンサー獲得回数39ここでベストアンサー

ポイント1000pt

バーコードリーダーが必要なほど発送を行うことはありませんが、効率化は好きなのでこんな方法もあるんだなと。試しにレターパックをスマホでスキャンしてみましたが、前後に一文字ずつ入っていました。
郵便の送り状などで使われる、NW-7という種類バーコードのようです。

それはさておき、一番簡単だと思うのがバーコードリーダー自体に読み取った文字列を編集して出力する機能を持ったものを探すこと。
少し調べてみましたが、結構あるみたいです。

例えばCM-890の説明書ですが
https://www.a-poc.co.jp/download/pdf/CM-890-Manual-E.pdf#page=56
前方から何文字、後方から何文字と桁を指定して削除させることができるようです。
また、2つまでコード挿入できるみたいなので、4桁と8桁目に「-」を挿入。
といった感じにプログラミングすれば、目標を達成できるかと思います。
この機種は説明書がわかりやすかったのですが、Amazonで見ても1万円とちょっとした出費になりそうです。

他に手ごろな機種でないかとAmazonで調べてみると
SD-120
http://www.media9.co.jp/m_tuhan/manual/Champtekjapanver5.00.pdf#page=54
BC-BR900L-W
https://www.busicom.co.jp/h/pdf/BC-BR900L_Ver122.pdf#page=10

と、文字を削除する機能は低価格な機種でもありました。
SD-120に関しては任意の場所にコード挿入ができるみたいですが、2か所でできるのかわかりませんでしたので気になるようであれば問い合わせてみて下さい。

こう見ると、もしかすると機能としては割と一般的なのかもしれません。
お持ちの機種もこれらの機能があるかもしれないので、まずは確認してみてはいかがでしょうか。

他2件のコメントを見る
id:bnn

この場合PC内で処理しようとすると特別なソフトを作らない限り手順がかかりすぎる気がしたので、後は理想形である端末側で処理できないか調べてみたといった感じでしょうか。
最終的には(バーコードリーダー 文字 削除) みたいな感じで引っかかったと思います。

BC-BR900L-W はシリアル番号によって説明書が違うようなので、Webから見るのであればこちらから該当の設定マニュアルを参考に。
https://www.busicom.co.jp/h/bc-br900l.html
先ほど貼ったリンクはVer1.22の方ですが、これで言うと左側 3.6 Codebar (NW7)「スタート/エンドキャラクタ送信」のOFFのバーコードをスキャンすれば、前後の文字は消えるのではと思います。
説明書を見る限り文字の付加は前後にしかできないようなので、間に「-」を挿入する方法は無さそうですかね。

ちなみに3ページの2.2.4が読み取り後にエンターキー処理になる部分の設定に見えます。
前後の文字削除だけでハイフン無しで良いならそのままで良いですが、手動でハイフンを入れるのであればNoneをスキャンすれば勝手に確認ページに飛ばなくなるのかなと思います。

設定の際は各ページ上下にある設定開始と設定終了のバーコードをスキャンする必要がありそうなので忘れずに。

2018/10/09 01:45:23
id:orekojinn

ご回答ありがとうございます。
私は端末側で処理できるのではないかという発想には全く至らず、エクセルを含め何らかのプログラムで対応する以外に無いと決めつけてしまっていました。
今BC-BR900L-Wで指定コードの読み込みをしましたところ思う結果が得られ有難く思います。
また検索に関してもお知恵を頂きありがとうございました。

2018/10/09 08:18:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません