如何获取文件名而不是文件的整个文件路径? [英] How do you get just the filename rather than the entire file path of an open file?

查看:441
本文介绍了如何获取文件名而不是文件的整个文件路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

换句话说,在调用 Application.GetOpenFileName()方法后,是否需要进行一些字符串处理?

解决方案

我正在使用这些函数进行文件名处理。最后一个是您需要的那个。

 公共函数FilePathOf(ByVal as As String)As String 
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)
结束函数
/ pre>

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆