Mid 関数
文字列から指定した文字数の文字列を、Variant (String) で返します。
構文
Mid(string, start, [ length ])
Mid 関数の構文には、次の名前付き引数があります。
パーツ | 説明 |
---|---|
string | 必須。 文字列を返す 文字列式を指定します。 string に Null が含まれている場合は、Null が返されます。 |
start | 必須です。Long です。 string 内で取り出す文字列の先頭の位置を指定します。 start が string の文字数より大きい場合は、Mid 関数は長さ 0 の文字列 ("") を返します。 |
length | 省略可能。Variant (Long)。 返す文字数を指定します。 省略するか、文字列の文字数が length の文字数 (start の文字を含む) より少ない場合は、start から文字列の最後までのすべての文字が返されます。 |
解説
string の文字数を決定するには、Len 関数を使用します。
注:
2 バイト文字セット言語のように、MidB 関数では文字列に含まれるバイト データを使用します。 文字数を指定する代わりに、引数でバイト数を指定します。 MidB 関数を使用するサンプル コードについては、トピックの 2 番目の例を参照してください。
例
1 番目の例では、Mid 関数を使って、文字列から指定した数の文字を取得します。
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' Create text string.
FirstWord = Mid(MyString, 1, 3) ' Returns "Mid".
LastWord = Mid(MyString, 14, 4) ' Returns "Demo".
MidWords = Mid(MyString, 5) ' Returns "Function Demo".
2 番目の例では、MidB 関数とユーザー定義関数 (MidMbcs) を使って、やはり文字列から文字を取得します。 違いは、入力文字列が ANSI であり、長さがバイト数であることです。
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)
End Function
Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d",
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns "CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns "bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。