VB如何获取文件名?

比如D盘的只有一个文件

VB6.0可以使用CommonDialog 控件实现获取文件路径并使用Split函数获取文件全名。

CommonDialog 控件

CommonDialog 控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。

通过使用 CommonDialog 控件的 ShowOpen 和 ShowSave
方法可显示“打开”和“另存为”对话框。

两个对话框均可用以指定驱动器,目录,文件扩展名和文件名。除对话的标题不同外,另存为对话外观上与打开对话相似。

Split函数,

返回一个下标从零开始的一维数组,它包含指定数目的子字符串。

代码实例:

Private Sub Command1_Click()
    Dim splitStr
    CommonDialog1.CancelError = True ' è®¾ç½®â€œCancelError”为 True
    On Error GoTo ErrHandler
    CommonDialog1.Flags = cdlOFNHideReadOnly    ' è®¾ç½®æ ‡å¿—
    ' è®¾ç½®è¿‡æ»¤å™¨
    CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
    CommonDialog1.FilterIndex = 2    ' æŒ‡å®šç¼ºçœçš„过滤器
    CommonDialog1.ShowOpen    ' æ˜¾ç¤ºâ€œæ‰“开”对话框
    ' æ˜¾ç¤ºé€‰å®šæ–‡ä»¶çš„名字
    MsgBox CommonDialog1.FileName
    splitStr = Split(CommonDialog1.FileName, "\")
    MsgBox splitStr(UBound(splitStr))
ErrHandler:
    ' ç”¨æˆ·æŒ‰äº†â€œå–消”按钮
    Exit Sub
End Sub

第一句Msgbox显示文件路径。

第二句Msgbox显示文件全名(含扩展名)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-22
下面函数是根据路径返回文件名
Public Function Getfilename(FPath)
Dim fso: Dim pname: Dim psize
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(FPath) = True Then
Set pname = fso.GetFile(FPath)
Getfilename = Left(pname.Name, Len(pname.Name) - 4)
Set psize = Nothing
Else
Getfilename = "未知"
End If
Set fso = Nothing
End Function本回答被网友采纳
相似回答