Excel VBA:如何提取string,如果我们知道string中的第一个和最后一个字母的位置

如果我们给string中第一个和最后一个字母的位置,我们如何从string中提取一个子string?

Dim my_string As String Dim my_substring As String my_string="Excel/Sheet1.xls" 

instrrev(my_string,"/")给出6(开始位置)

len(my_string)给出16(结束位置)

所以要得到“Sheet1.xls”作为我的子string,我们应该怎么做?

或者我们可以得到它select字符,直到“/”遇到第一/

 Mid(my_string,instrrev(my_string,"/")+1, len(my_string)) 

会给你Sheet1.xls

这个怎么样?

 my_substring = Split("Excel/Sheet1.xls","/")(1) 

这个解决scheme如何:

 Dim strFileName As String strFileName = ActiveWorkbook.Path & "/" & ActiveWorkbook.Name Debug.Print "Start Position: " & Len(strFileName) - InStr(1, StrReverse(strFileName), "/") Debug.Print "Extacted file name: " & Mid(strFileName, Len(strFileName) - InStr(1, StrReverse(strFileName), "/") + 2)