[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームからQRコードで入力』(しばこ)
いつもお世話になっております。
バーコードリーダーを使って、セルにQRコードのデータ入力した場合と違い、ユーザーフォーム上のテキストボックスにQRコードを読み込むと、文字コードに対応していないせいか文字化けしてしまいます。
文字化けせずに入力する方法はないでしょうか?
よろしくお願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
そして、文字化けすると言われても、そのマクロや実際の文字列と化けた文字列を教えてもらわないと、何とも…。 シートだと大丈夫でフォームが駄目という事だけから判断すると、フォームの場合はSHIFT-JISで、シートはUniCodeなので、VBAのStrConv関数で変換できそうに思えます。
(???) 2020/07/22(水) 09:32
K/22/水戸 50 に 928/1/JB23W-214434/K6A/4 '正常
K/22/邅賋腀腀艔艏腀苉腀艘艑艗/1/JB23W-214434/K6A/4 '文字化け
StrConv関数を試したところvbUnicodeやvbFromUnicodeではうまく変換できませんでした。
シート上では正常に表示されるので、フォーム表示の状態から直接シートに入力させることが可能ならば、そこからleft,right,midなどで振り分けようと考えています。
(しばこ) 2020/07/27(月) 09:30
QRスキャナーを使い始める際にインストールされたアプリ(ドライバ?)が、余計なコード変換をしているように思いますが、何か設定変更できませんか?(スキャンしたものをUnicode変換してから貼っている感じ) 文字列全部ではなく、ナンバープレート情報っぽい部分だけ化けているのが気になるのです。 購入品であれば、メーカーに相談してみるのが一番でしょう。
設定変更できないようならば、シート上でスキャンした後に、シートから文字列を得て動くようなマクロにしてはどうでしょうか。
(???) 2020/07/27(月) 10:21
案1:新規ブックに、以下のコードをシートモジュールに貼った後、A列のどこかをクリックしてから、普通にQRコードを読むだけ。(A列のセル値が変化するとマクロが動いて、文字列をバラす)
Private Sub Worksheet_Change(ByVal Target As Range) Dim vw As Variant If Target.Column = 1 Then Application.EnableEvents = False vw = Split(Target.Text, "/") Target.Offset(0, 1).Resize(1, UBound(vw) + 1).Value = vw Target.Offset(1, 0).Select Application.EnableEvents = True End If End Sub
案2:マクロを一切使わず、出力したいシートをマウスでクリックした後に、QRスキャナを使う。
スキャナ側は設定変更し、改行コード付きで出力するように設定しておけば、勝手に次の行にフォーカス移動すると思います。
スキャンした文字列をバラすのは数式を使い、B列以降に書いておけば良いでしょう。
(???) 2020/07/27(月) 17:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.