vba獲取當前工作簿的文件名?要獲取文件名和擴展名,可以使用VBA語句和FSO對象模型兩種方式,我來為大家科普一下關于vba獲取當前工作簿的文件名?下面希望有你要的答案,我們一起來看看吧!
vba獲取當前工作簿的文件名
要獲取文件名和擴展名,可以使用VBA語句和FSO對象模型兩種方式。
1 使用VBA語句拆分文件名和擴展名Function SplitFilename(ByVal sFileName As String) As Variant
Dim aRet(1 To 3) As String
Dim i As Integer
i = InStrRev(sFileName, "\")
aRet(1) = Left(sFileName, i)
sFileName = Mid(sFileName, i 1)
i = InStrRev(sFileName, ".")
aRet(2) = Left(sFileName, i - 1)
aRet(3) = Mid(sFileName, i 1)
SplitFilename = aRet
End Function
Sub 分離文件名()
Dim sFileName As String, aRet As Variant
sFileName = Application.GetOpenFilename(, , "選擇源文件")
If sFileName = "False" Then Exit Sub '用戶選擇"取消"則退出程序
aRet = SplitFilename(sFileName)
MsgBox "路徑:" & aRet(1) & vbNewLine & _
"文件名:" & aRet(2) & vbNewLine & _
"擴展名:" & aRet(3)
End Sub
運行上述代碼後,按照打開的對話框選擇目标文件後,即可顯示下面的信息框:
2 使用FSO對象模型拆分文件名和擴展名Sub FSO分離文件名()
Dim fso As New FileSystemObject, sFileName As String
Dim str1 As String
sFileName = Application.GetOpenFilename(, , "選擇源文件")
If sFileName = "False" Then Exit Sub
MsgBox "路徑:" & fso.GetParentFolderName(sFileName) & vbNewLine & _
"文件名:" & fso.GetBaseName(sFileName) & vbNewLine & _
"擴展名:" & fso.GetExtensionName(sFileName)
Set fso = Nothing
End Sub
-End-
,