Mid 関数Mid function

文字列から指定した文字数の文字列を、Variant (String) で返します。Returns a Variant (String) containing a specified number of characters from a string.


Mid(string, start, [ length ])Mid(string, start, [ length ])

Mid 関数の構文には、次の名前付き引数があります。The Mid function syntax has these named arguments:

パーツPart 説明Description
stringstring 必須。Required. 文字列を返す 文字列式を指定します。String expression from which characters are returned. stringNull が含まれている場合は、Null が返されます。If string contains Null, Null is returned.
startstart 必須です。Long です。Required; Long. string 内で取り出す文字列の先頭の位置を指定します。Character position in string at which the part to be taken begins. startstring の文字数より大きい場合は、Mid 関数は長さ 0 の文字列 ("") を返します。If start is greater than the number of characters in string, Mid returns a zero-length string ("").
lengthlength 省略可能。Variant (Long)。Optional; Variant (Long). 返す文字数を指定します。Number of characters to return. 省略するか、文字列の文字数が length の文字数 (start の文字を含む) より少ない場合は、start から文字列の最後までのすべての文字が返されます。If omitted or if there are fewer than length characters in the text (including the character at start), all characters from the start position to the end of the string are returned.


string の文字数を決定するには、Len 関数を使用します。To determine the number of characters in string, use the Len function.


2 バイト文字セット言語のように、MidB 関数では文字列に含まれるバイト データを使用します。Use the MidB function with byte data contained in a string, as in double-byte character set languages. 文字数を指定する代わりに、引数でバイト数を指定します。Instead of specifying the number of characters, the arguments specify numbers of bytes. MidB 関数を使用するサンプル コードについては、トピックの 2 番目の例を参照してください。For sample code that uses MidB, see the second example in the example topic.


1 番目の例では、Mid 関数を使って、文字列から指定した数の文字を取得します。The first example uses the Mid function to return a specified number of characters from a string.

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) を使って、やはり文字列から文字を取得します。The second example use MidB and a user-defined function (MidMbcs) to also return characters from string. 違いは、入力文字列が ANSI であり、長さがバイト数であることです。The difference here is that the input string is ANSI and the length is in bytes.

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"

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.