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)