Chr関数
Chr関数は、VBA関数の中で文字列操作関数に分類される関数です。
目次
Chr関数とは
Chr関数は、指定した文字コードに対応する文字を示す文字列型 (String) の値を返します。
| 構文 | Chr(charcode) | |
|---|---|---|
| 引数 | 省略 | 説明 |
| charcode | × | 引数 charcode には文字を特定するための長整数型 (Long) の値を指定します。 |
ASCII コード 0 ~ 31 の範囲の文字は表示できません。この中には次に示す制御文字が含まれています。これらを利用すると MsgBox 関数や InputBox 関数などを使ってメッセージを表示するときに、文字列の中にタブや改行を含めることができます。
Chr(9)タブ
Chr(10)ライン フィード文字
Chr(13)キャリッジ リターン
通常、引数 charcode には 0 ~ 255 の範囲の値を指定します。ただし、DBCS を使用しているシステムでは、引数 charcode は -32768 ~ 65535 の範囲の値をとります。
文字列型 (String) のデータをバイト データとして扱う場合は、ChrB 関数を使用します。ChrB 関数は文字ではなく、1 バイトを返します。ChrW 関数は、Unicode 文字セットの文字を含む文字列型 (String) で文字を返します。Unicode をサポートしていないプラットフォームでは、Chr 関数と同じ文字コードを返します。
Visual Basic for the Macintosh では、Unicode 文字列をサポートしていません。したがって、AscW(n) 関数は、Windows 環境では 128 ~ 65535 の範囲のすべての Unicode 文字を返すことができますが、Macintosh 環境では正確な Unicode 文字を返すことができません。このため、 Macintosh 環境では AscW 関数を使用しないようにしてください。
Chr関数のサンプルコード
次の例は、Chr 関数を使って、指定した文字コードに対応する文字を返します。
Sub sample()
Dim MyChar
MyChar = Chr(65) ' A を返します。
MyChar = Chr(97) ' a を返します。
MyChar = Chr(62) ' > を返します。
MyChar = Chr(37) ' % を返します。
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 | 文字列を数値に変換します。 |
