全角を半角に変換する【VBA】

目次

環境

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()」も使ってみたのですが、そっちもうまくいかず、イライラしていました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次