VB6・VBA関数メモ:StrConv関数

StrConv関数についてメモしておきます。
大文字⇔小文字、半角⇔全角、ひらがな⇔カタカナ、Unicode⇔ShiftJIS等の相互変換ができます。

VB6やVBAはUnicodeなので、半角文字も2バイトとしてカウントしてしまうため、
LenB()で半角文字を1バイトとしてカウントする際にも必要になったりします。


概要

StrConv(string, conversion, [LocalID])
機能 指定の文字列を指定の形式に変換
戻り値 変換した文字列


引数

引数名説明
string 変換対象の文字列
conversion 変換の種類の定数
LocalID (省略可)国別情報識別子
日本語のロケールIDは「1041」のようです。
利用環境が日本語の場合は基本的に未指定でOK


引数:定数

引数:conversion
定数名説明使用例出力
vbUpperCase 1大文字に変換StrConv("abc", vbUpperCase)ABC
vbLowerCase 2小文字に変換StrConv("ABC", vbLowerCase)abc
vbProperCase 3単語の先頭を大文字に変換StrConv("abc efg", vbProperCase)Abc Efg
vbWide 4全角文字に変換StrConv("abc", vbWide)abc
vbNarrow 8半角文字に変換StrConv("abc", vbNarrow)abc
vbKatakana 16ひらがなを全角カタカナに変換StrConv("あいう", vbKatakana)アイウ
vbHiragana 32全角カタカナをひらがなに変換StrConv("アイウ", vbHiragana)あいう
vbUnicode 64システム文字コードの文字列をUnicodeに変換StrConv("あいう", vbUnicode)B0D0F0
vbFromUnicode 128Unicodeの文字列をシステム文字コードに変換StrConv("B0D0F0", vbFromUnicode)あいう


複数の変換種類を同時に指定

「Or」で区切ることによって複数の変換種類を同時に行うことができます。
説明記述例出力
半角小文字を全角大文字に変換 StrConv("abc", vbUpperCase Or vbWide) ABC
半角カタカナをひらがなに変換 StrConv("アイウ", vbWide Or vbHiragana) あいう
Nullの場合はNullを返す StrConv(Null,vbLowerCase) Null
ギリシャ文字の大文字⇔小文字の変換もできるようです StrConv("Δ",vbLowerCase) δ


応用例

説明記述例出力
文字列のバイト数をカウント
※VB6・VBAの内部文字コードがUnicodeの為、
 ShiftJISに変換する必要がある
LenB(StrConv("abc", vbFromUnicode)) 3


コメント
コメントする








    
この記事のトラックバックURL
トラックバック