VB6从路径获取文件名

Dav*_*p04 0 csv vb6 filenames path

在我的VB6代码中,我有声明

Open CommonDialog.FileName For Input As #intFileNum
Run Code Online (Sandbox Code Playgroud)

问题是CommonDialog.FileName返回一个完整的路径,而VB6 Open命令只需要一个文件名.例如,如果路径是C:\ temp\file_name.csv,则CommonDialog.FileName将返回C:\ temp\file_name.csv,但VB6中的此Open语句仅适用于file_name.csv

我可以把

Dim Path As String
Path = CommonDialog.FileName
Open Path For Input As #intFileNem
Run Code Online (Sandbox Code Playgroud)

我只需要知道如何在最后一个反斜杠"\"之前删除Path中的所有内容.VB6库中有什么东西可以做到这一点吗?

路径是从常用的对话框和代码中提取的

CommonDialog.DialogTitle = "Browse. . ."
    CommonDialog.Filter = "CSV File (*.csv)|*.csv"
    CommonDialog.ShowOpen
Run Code Online (Sandbox Code Playgroud)

所以我想如果有人知道,我应该要求使用ShowOpen来获取公共子路径,然后在后面的函数中使用Open命令路径中的文件名并不是它本身的任何问题,对吧?

为了便于阅读,我必须在这里展示Ghost.我使用intFileNum作为long

Dim intFileNum As Long

Open Path1 For Input As #intFileNum

Do Until EOF(intFileNum)

Line Input #intFileNum, LineEnd
Run Code Online (Sandbox Code Playgroud)

希望这些信息可以使情况更有意义

Unh*_*ean 6

Function GetFileNameFromPath(strFullPath As String) As String
    GetFileNameFromPath = Right(strFullPath, Len(strFullPath) - InStrRev(strFullPath, "\"))
End Function
Run Code Online (Sandbox Code Playgroud)

但是,您的问题是由于您未使用FreeFile或未关闭文件而导致锁定.

Public Function SomeMethod()
    On Error GoTo errSomeMethod

    Dim lngFileHandle As Long

    lngFileHandle = FreeFile
    Open CommonDialog.FileName For Input As #lngFileHandle

    'Whatever you want here

    Close #lngFileHandle

    Exit Function
errSomeMethod:
    Close #lngFileHandle
End Function
Run Code Online (Sandbox Code Playgroud)