Mid:
返回 Variant (String),其中包含字符串中指定数量的字符。
语法
Mid(string, start[, length])
Mid 函数的语法具有下面的命名参数:
部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
说明
欲知 string 的字符数,可用 Len 函数。
注意
MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。
--------------------------------------------------------------------------------
VB:
Private Sub Command1_Click()
A = "ABCDEFGHIJKLMN"
B = 5
C = 6
D = Mid(A, B, C)
'D="EFGHIJ"(如A或B或C换成立即数,汇编相同)
MsgBox (D)
End Sub
ASM:
00401B07 . push eax
;Integer(eax)=C
00401B08 . |push ecx
;Integer(eax)=B
00401B09 . |call dword ptr ds:[<&MSVBVM60.__vbaI4Var>]
00401B0F . push eax
;eax=B
00401B10 . lea edx,dword ptr ss:[ebp-24]
00401B13 . lea eax,dword ptr ss:[ebp-64]
00401B16 . push edx
;String(edx)->A
00401B17 . push eax
;Empty(eax)=>D
00401B18 . call dword ptr ds:[<&MSVBVM60.rtcMidCharVar>]
;String(eax)->D
--------------------------------------------------------------------------------
VB:
Private Sub Command1_Click()
A = "ABCDEFGHIJKLMN"
B = 5
D = Mid(A, B) 'D="EFGHIJKLMN"(如A或B换成立即数,汇编相同)
MsgBox (D)
End Sub