微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取文件扩展名 vba

如何解决获取文件扩展名 vba

我需要将文件的扩展名存储在 VBA 中的变量中, 我现在所做的是

file= Hello.pdf
extension = split(file,".")(1)

但有时我的文件可能类似于 file = 1.Filename.pdf,所以我的扩展变量不再起作用...

有人可以帮我找到一个解决方案,即使它们是多个“.”,也可以始终从任何文件名中获取扩展名。在里面。

我有一个想法是从右到左读取并在读取“。”时获取字符串。但我是 vba 新手,不知道从哪里开始......

解决方法

试试这个

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
,

试试,

Dim vFn As Variant

file = "Hello.pdf"

vFn = Split(file,".")
extension = vFn(UBound(vFn))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。