Dim str1 As String
Dim a1, a2 As Integer
str1 = "D:MediaGVODMediaGVODMedia20110101-11411-401.d"
a1 = InStrRev(str1, ".")
a2 = InStrRev(str1, "")
MsgBox Mid(str1, a2 + 1, a1 - a2 - 1)
从后往前找,先找 "." 的位置a1,然后再找最后一个""的位置a2
起始位置就是a2+1,查找的字符串的长度就是 a1-(a2+1)
所以用mid函数就能取出来了。
当然在实际做程序时还要判断在字符串是否存在"."、"",即 a1、a2数值的大小,避免用mid时出错。