Mid 函數

傳回 Variant (String),包含字串的指定字元數。

語法

Mid(string, start, [ length ])

Mid 函數語法具有下列具名引數

部分 描述
string 必要。 字串運算式的功能是會從中傳回字元。 如果字串包含 Null,則傳回 Null
start 必要;Longstring 中要擷取做為開始部分的字元位置。 如果 start 中的字元數大於 string,則 Mid 會傳回零長度字串 ("")。
length 選用;Variant (Long)。 要傳回的字元數。 如果省略此參數,或是字元數少於文字中的 length 字元 (包含 start 所在的字元),就會傳回從 start 位置開始一直到字串結尾的所有字元。

註解

若要判定字串中的字元數,請使用 Len 函數。

注意事項

使用 MidB 字串函數處理包含在字串中的位元組資料,如同雙位元組字元集語言中的處理方式。 length 會指定位元組數,而非指定要傳回的字元數。 針對使用程式碼範例的 MidB,請參閱範例主題中的第二個範例。

範例

第一個範例使用 Left 函數,從字串傳回指定的字元數。

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".

第二個範例使用 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 支援與意見反應