目次
環境
Windowsの仕様
エディション:Windows 10 Pro
バージョン:20H2
経緯
VBAを使って、バーコードで値を読み込ませていたが、全角で読んでしまうときがあって、困っていました。
なので、今回は全角を半角にする方法を勉強しました。
「StrConv(,vbNarrow)」を使って、半角にする
「StrConv(,vbNarrow)」を使うとうまくいきました。
まず、プログラム書きます。プログラムを起動すると、”バーコードフォーム”がでてきて、バーコードを読むという構想です。
Dim barcode_raw As String Dim barcode As String barcode_raw = Application.InutBox(prompt:="バーコードを呼んでください。",Title:="バーコードフォーム", Type:=3) barcode = StrConv(barcode_raw, vbNarrow)
コードの説明をします。空白の行は省略してします。
1,2行目、変数の宣言です。
3行目、テキストボックスみたいなのを出す処理です。Type:=3の意味はわかっていません。すみません。
4行目、ここが半角にする処理です。”vbNarrow”というのが半角にする命令です。barcode_rawという変数を半角にしています。
こんな感じでうまくいきました。この後の処理は変数”barcode”をセルに貼り付けたりとかするといいと思います。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。
失敗談
はじめ私は「xlIMEModeプロパティ」を使って、あれこれやっていましたが、「オブジェクトだ」「メソッドだ」とか言われて、全然うまくいきませんでした。
また、「CStr()」も使ってみたのですが、そっちもうまくいかず、イライラしていました。