指定した文字列を変換して、バリアント型 (内部処理形式 String の Variant) で返します。
構文
StrConv ( string, conversion [, LCID ] )
StrConv 関数の構文には、次の引数があります。
引数 |
説明 |
string |
必須。 変換される文字列式を指定します。 |
conversion |
必須。 整数データ型の値を指定します。 実行する変換のタイプを指定する列挙型の値です。 |
LCID |
省略可能です。 システム LocaleID と異なる場合は、LocaleID。 (既定値はシステム LocaleID) |
設定値
引数 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 for Applications (VBA) によって指定されます。 その結果、実際の値の代わりにコード内の任意の場所で使用できます。 vbUpperCase + vbWide など、相互に排他的な場合を除き、ほとんどの値を組み合わせることができます (たとえば、vbUnicode + vbFromUnicode)。 定数 vbWide、vbNarrow、vbKatakana、vbHiragana は、適用されないロケールで使用すると実行時エラーを引き起こします。
大文字と小文字の区別を適切に行うため、文字列内の単語を区切る有効な記号として、Null (Chr$(0))、水平タブ (Chr$(9))、ライン フィード (Chr$(10))、垂直タブ (Chr$(11))、フォーム フィード (Chr$(12))、キャリッジ リターン (Chr$(13))、スペース (1 バイト文字セット) (Chr$(32)) があります。 DBCS の場合、スペースの実際の値は国や地域により異なります。
解説
ANSI 形式のバイト配列から文字列に変換する場合は、StrConv 関数を使用する必要があります。 Unicode 形式のバイト配列から変換を行う場合は、代入ステートメントを使用します。
クエリの例
式 |
結果 |
SELECT strConv(ProductDesc,1) AS Expr1 FROM ProductSales; |
"ProductDesc" フィールドの値を大文字に変換し、列 Expr1 に表示します |
SELECT strConv(ProductDesc,2) AS 小文字 ID FROM ProductSales; |
"ProductDesc" フィールドの値を小文字に変換し、列小文字 ID で表示します。 すべての単語の最初の文字を "ProductDesc" から大文字に変換し、列 PropercaseID に表示します。 その他の文字はすべて小文字のままです。 |
VBA の例
注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、StrConv 関数を使用して Unicode 文字列を ANSI 文字列に変換します。
Dim i As Long
Dim x() As Byte x = StrConv("ABCDEFG", vbFromUnicode) ' Convert string. For i = 0 To UBound(x) Debug.Print x(i) Next