获取文件扩展名 vba
Get file extension vba
我需要将文件的扩展名存储在 VBA 的变量中,
我现在所做的是
file= Hello.pdf
extension = split(file,".")(1)
但有时我的文件可能像 file = 1.Filename.pdf
这样我的扩展变量就不再工作了...
有人能帮我找到一个解决方案来始终从任何文件名中获取扩展名,即使它们是“.”的倍数。在里面。
我有个想法是从右到左读取并在读取“.”时获取字符串。但我是 vba 的新手,不知道从哪里开始....
试试,
Dim vFn As Variant
file = "Hello.pdf"
vFn = Split(file, ".")
extension = vFn(UBound(vFn))
试试这个
Sub Get_Extension()
Dim fso As Object, sFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
sFile = "Hello.pdf"
Debug.Print Right(sFile, Len(sFile) - InStrRev(sFile, "."))
Debug.Print fso.GetExtensionName(sFile)
Debug.Print Split(sFile, ".")(UBound(Split(sFile, ".")))
End Sub
要获取文件名,您可以使用它
Sub Get_Filename()
Dim v, fso As Object, sFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
sFile = "1.Hello.pdf"
v = Split(sFile, ".")
ReDim Preserve v(0 To UBound(v) - 1)
Debug.Print Join(v, ".")
Debug.Print fso.GetBaseName(sFile)
Debug.Print Left(sFile, (InStrRev(sFile, ".", -1, vbTextCompare) - 1))
Debug.Print Left(sFile, InStrRev(sFile, ".") - 1)
End Sub
我需要将文件的扩展名存储在 VBA 的变量中, 我现在所做的是
file= Hello.pdf
extension = split(file,".")(1)
但有时我的文件可能像 file = 1.Filename.pdf
这样我的扩展变量就不再工作了...
有人能帮我找到一个解决方案来始终从任何文件名中获取扩展名,即使它们是“.”的倍数。在里面。
我有个想法是从右到左读取并在读取“.”时获取字符串。但我是 vba 的新手,不知道从哪里开始....
试试,
Dim vFn As Variant
file = "Hello.pdf"
vFn = Split(file, ".")
extension = vFn(UBound(vFn))
试试这个
Sub Get_Extension()
Dim fso As Object, sFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
sFile = "Hello.pdf"
Debug.Print Right(sFile, Len(sFile) - InStrRev(sFile, "."))
Debug.Print fso.GetExtensionName(sFile)
Debug.Print Split(sFile, ".")(UBound(Split(sFile, ".")))
End Sub
要获取文件名,您可以使用它
Sub Get_Filename()
Dim v, fso As Object, sFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
sFile = "1.Hello.pdf"
v = Split(sFile, ".")
ReDim Preserve v(0 To UBound(v) - 1)
Debug.Print Join(v, ".")
Debug.Print fso.GetBaseName(sFile)
Debug.Print Left(sFile, (InStrRev(sFile, ".", -1, vbTextCompare) - 1))
Debug.Print Left(sFile, InStrRev(sFile, ".") - 1)
End Sub