StrConv関数
StrConv関数は、VBA関数の中で文字列操作関数に分類される関数です。
目次
StrConv関数とは
StrConv関数は、変換した文字列をバリアント型 (内部処理形式 String の Variant) で返します。
構文 | StrConv(string, conversion, LCID) | |
---|---|---|
引数 | 省略 | 説明 |
string | × | 変換する文字列式を指定します。 |
conversion | × | 整数型 (Integer) の値を指定します。実行する変換の種類の値の合計を指定します。 |
LCID | ● | システムとは異なる国別情報識別子 (LCID) を指定できます。既定値はシステムが使用する LCID です。 |
引数 conversion
定数 | 値 | 説明 |
---|---|---|
vbUpperCase | 1 | 文字列を大文字に変換します。 |
vbLowerCase | 2 | 文字列を小文字に変換します。 |
vbProperCase | 3 | 文字列の各単語の先頭の文字を大文字に変換します。 |
vbWide* | 4* | 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。 |
vbNarrow* | 8* | 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。 |
vbKatakana** | 16** | 文字列内のひらがなをカタカナに変換します。 |
vbHiragana** | 32 | 文字列内のカタカナをひらがなに変換します。 |
vbUnicode | 64 | システムの既定のコード ページを使って文字列を Unicode に変換します。Macintosh. では使用できません) |
vbFromUnicode | 128 | 文字列を Unicode からシステムの既定のコード ページに変換します。Macintosh. では使用できません) |
* 国別情報の設定が中国、韓国、および日本の場合に適用されます。
** 国別情報の設定が日本の場合のみ有効です。
これらの定数は Visual Basic で定義されているものです。したがって、コードの中の任意の場所で、実際の値の代わりに使用できます。通常、定数は互いに矛盾しない限り、組み合わせて指定できます。たとえば、定数 vbUpperCase と vbWide を組み合わせることはできます。しかし、定数 vbUnicode と vbFromUnicode は指定内容が矛盾するため、組み合わせることはできません。また、不適切な場所で定数 vbWide、vbNarrow、vbKatakana、および vbHiragana を指定した場合は、実行時エラーが発生します。
大文字/小文字を正しく区別する単語セパレータは、Null 値 (Chr$(0))、水平タブ (Chr$(9))、ライン フィード (Chr$(10))、垂直タブ (Chr$(11))、フォーム フィード (Chr$(12))、キャリッジ リターン (Chr$(13))、およびスペース (SBCS の場合) (Chr$(32)) です。DBCS のスペースの実際の値は、国によって異なります。
ANSI 形式のバイト型配列を文字列に変換する場合は、StrConv 関数を使用してください。Unicode 形式の配列を変換する場合は、代入式を使用してください。
StrConv関数のサンプルコード
次の例は、StrConv 関数を使って、Unicode 文字列をANSI 文字列に変換します。
Sub sample()
Dim i As Long
Dim x() As Byte
x = StrConv("ABCDEFG", vbFromUnicode) ' 文字列を変換します。
For i = 0 To UBound(x)
Debug.Print x(i)
Next
End Sub
実行結果
解説
文字列操作関数一覧
関数名 | 内容 |
---|---|
Asc | 文字列内にある最初の文字の文字コードを返します。 |
AscB | 文字列内にある最初のバイトコードを返します。 |
AscW | 文字列内にあるISOコードの文字を返します。 |
Chr | 指定したコードに対応する文字を返します。 |
ChrB | 指定したコードに対応するバイトデータを返します。 |
ChrW | 指定したコードに対応するISOの文字を返します。 |
Format | 式を指定した書式に変換します。 |
Hex | 指定した文字列を16進数で返します。 |
InStr | 検索対象文字列の指定した位置から指定した文字列を検索し、最初に見つかった文字位置を返します。 |
InstrB | 検索対象文字列の指定したバイト位置から指定した文字列を検索し、最初に見つかったバイト位置を返します。 |
LCase | 大文字のアルファベットを小文字に変換します。 |
Left | 文字列の左端から指定した文字数分の文字列を抽出します。 |
LeftB | 文字列の左端から指定したバイト数分の文字列を抽出します。 |
Len | 文字列の文字数を返します。 |
LenB | 文字数のバイト数を返します。 |
Ltrim | 文字列の先頭のスペースを削除した文字列を抽出します。 |
Mid | 文字列の指定した位置から指定した文字数分を抽出します。 |
MidB | 文字列の指定したバイト位置から指定したバイト数分を抽出します。 |
Oct | 指定した文字列を8進数で返します。 |
Right | 文字列の右端から指定した文字数分の文字列を抽出します。 |
RightB | 文字列の右端から指定したバイト数分の文字列を抽出します。 |
Rtrim | 文字列の末尾のスペースを削除した文字列を抽出します。 |
Space | 指定した数のスペースを返します。 |
Str | 数式の値を文字列に返します。 |
StrComp | 文字列を比較した結果を返します。 |
StrConv | 文字列を変換した結果を返します。 |
String | 指定した文字コードに対応する文字を指定した文字数だけ並べた文字列を返します。 |
Trim | 文字列の先頭と末尾のスペースを削除した文字列を抽出します。 |
Ucase | 小文字のアルファベットを大文字に変換します。 |
Val | 文字列を数値に変換します。 |