|
楼主 |
发表于 2014-11-13 19:50
|
显示全部楼层
本帖最后由 opel-wong 于 2014-11-13 19:52 编辑
liulang0808 发表于 2014-11-13 17:40
使用split吧
这个貌似挺管用的
也可以,按照你的建议重新写了一个,请测试,如下:
- Public Function NameAndPath2(ByVal FullPath As String, myNo As Byte) As String
- Dim aa() As String: aa = Split(FullPath, "")
- Dim bb() As String: bb = Split(aa(UBound(aa)), ".")
- Dim cc() As String: cc = Split(FullPath, ".")
- If myNo = 1 Then ' 第二参数为1
- NameAndPath2 = "." & cc(UBound(cc)) ' 返回: 尾缀名
- ElseIf myNo = 2 Then ' 第二参数为2
- NameAndPath2 = bb(UBound(bb) - 1) ' 返回: 文件名
- ElseIf myNo = 3 Then ' 第二参数为3
- NameAndPath2 = aa(UBound(aa)) ' 返回: 带后缀文件名
- ElseIf myNo = 4 Then ' 第二参数为4
- NameAndPath2 = cc(0) & "" ' 返回: 路径
- Else:
- NameAndPath2 = ""
- End If
- End Function
复制代码
调用如下:- Sub eeff() ' 指定文件
- Dim FullPath As String
- FullPath = "F:\FunshionMedia\红高粱-MP4\红高粱-第45集.mp4"
- MsgBox "文件尾缀名: " & NameAndPath2(FullPath, 1) & vbCrLf & vbCrLf & _
- "仅文件名: " & NameAndPath2(FullPath, 2) & vbCrLf & vbCrLf & _
- "带尾缀文件名: " & NameAndPath2(FullPath, 3) & vbCrLf & vbCrLf & _
- "仅文件路径: " & NameAndPath2(FullPath, 4), 64 + 0, "温馨提醒"
- End Sub
复制代码- Sub mmnn() ' 选择文件
- Dim FullPath As Variant
- FullPath = Application.GetOpenFileName("任意文件 (*.*), *.*", , "随便选择一个文件")
- If FullPath = False Then Exit Sub
- MsgBox "文件尾缀名: " & NameAndPath2(FullPath, 1) & vbCrLf & vbCrLf & _
- "仅文件名: " & NameAndPath2(FullPath, 2) & vbCrLf & vbCrLf & _
- "带尾缀文件名: " & NameAndPath2(FullPath, 3) & vbCrLf & vbCrLf & _
- "仅文件路径: " & NameAndPath2(FullPath, 4), 64 + 0, "温馨提醒"
- End Sub
复制代码
|
评分
-
1
查看全部评分
-
|