如何获取文件名而不是文件的整个文件路径? [英] How do you get just the filename rather than the entire file path of an open file?
本文介绍了如何获取文件名而不是文件的整个文件路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Application.GetOpenFileName()
方法后,是否需要进行一些字符串处理?解决方案
我正在使用这些函数进行文件名处理。最后一个是您需要的那个。
公共函数FilePathOf(ByVal as As String)As String
/ pre>
Dim pos As Integer
pos = InStrRev(s,\)
如果pos = 0然后
FilePathOf =
Else
FilePathOf =左$(s,pos)
结束如果
结束函数
公共函数FileNameOf(ByVal s As String)As String
Dim pos1 As Integer,pos2 As Integer
pos1 = InStrRev(s,\)+ 1
pos2 = InStrRev(s,。)
如果pos2 = Len(s)则pos2 = pos2 + 1
如果pos2 = 0则pos2 = Len(s)+ 1
FileNameOf = Mid $(s,pos1,pos2 - pos1)
结束函数
公共函数FileExtOf(ByVal s As String)As String
Dim pos As Integer
pos = InStrRev(s,。)
如果pos = 0然后
FileExtOf =
Else
FileExtOf = Mid $(s,pos + 1)
如果
结束函数
公共函数FileNameExt (ByVal s As String)As String
FileNameExtOf = Mid $(s,InStrRev(s,\)+ 1)
结束函数
In other words, would I need to do some string processing after invoking the
Application.GetOpenFileName()
Method?解决方案I am using these functions for filename processing. The last one is the one you need here.
Public Function FilePathOf(ByVal s As String) As String Dim pos As Integer pos = InStrRev(s, "\") If pos = 0 Then FilePathOf = "" Else FilePathOf = Left$(s, pos) End If End Function Public Function FileNameOf(ByVal s As String) As String Dim pos1 As Integer, pos2 As Integer pos1 = InStrRev(s, "\") + 1 pos2 = InStrRev(s, ".") If pos2 = Len(s) Then pos2 = pos2 + 1 If pos2 = 0 Then pos2 = Len(s) + 1 FileNameOf = Mid$(s, pos1, pos2 - pos1) End Function Public Function FileExtOf(ByVal s As String) As String Dim pos As Integer pos = InStrRev(s, ".") If pos = 0 Then FileExtOf = "" Else FileExtOf = Mid$(s, pos + 1) End If End Function Public Function FileNameExtOf(ByVal s As String) As String FileNameExtOf = Mid$(s, InStrRev(s, "\") + 1) End Function
这篇关于如何获取文件名而不是文件的整个文件路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文