VB6 从路径获取文件名
VB6 get filename from path
在我的 VB6 代码中有语句
Open CommonDialog.FileName For Input As #intFileNum
问题是 CommonDialog.FileName return 是一个完整的路径,而 VB6 打开命令只需要一个文件名。例如,如果路径为 C:\temp\file_name.csv,则 CommonDialog.FileName 将 return C:\temp\file_name.csv 但 VB6 中的此 Open 语句仅适用于 file_name.csv
我可以放
Dim Path As String
Path = CommonDialog.FileName
Open Path For Input As #intFileNem
我只需要知道如何删除路径中最后一个反斜杠“\”之前的所有内容。 VB6 库中有什么东西可以做到这一点吗?
路径取自普通对话框,代码
CommonDialog.DialogTitle = "Browse. . ."
CommonDialog.Filter = "CSV File (*.csv)|*.csv"
CommonDialog.ShowOpen
所以我想如果有人知道,我可能应该问一下,使用 ShowOpen 获取 public 子中的路径,然后在稍后的函数中使用带有 Open 命令的路径中的文件名不是任何类型这本身就是一个问题,对吗?
为了便于阅读,我必须在此处显示 Ghost。我使用 intFileNum 作为 long
Dim intFileNum As Long
Open Path1 For Input As #intFileNum
Do Until EOF(intFileNum)
Line Input #intFileNum, LineEnd
希望这些信息可以使情况更有意义
没有内置任何东西,但解析字符串很简单。
这是一个方便的函数。
Function ExtractFile(ByVal PathName As String) As String
Dim f As String
Dim n As Integer
' Return the filename portion of a full pathname
f$ = PathName
Do
n% = InStr(f$, "\")
If n% > 0 Then f$ = Right$(f$, Len(f$) - n%)
Loop While n% > 0
Do
n% = InStr(f$, "/")
If n% > 0 Then f$ = Right$(f$, Len(f$) - n%)
Loop While n% > 0
ExtractFile = f$
End Function
Function GetFileNameFromPath(strFullPath As String) As String
GetFileNameFromPath = Right(strFullPath, Len(strFullPath) - InStrRev(strFullPath, "\"))
End Function
但是,您的问题是由于您未使用 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
回答实际的原始问题:
说明书上写的是对的,见FileTitle Property。
换句话说,这项工作已经为您完成...假设您确实需要它。但那是另一个问题了。
在我的 VB6 代码中有语句
Open CommonDialog.FileName For Input As #intFileNum
问题是 CommonDialog.FileName return 是一个完整的路径,而 VB6 打开命令只需要一个文件名。例如,如果路径为 C:\temp\file_name.csv,则 CommonDialog.FileName 将 return C:\temp\file_name.csv 但 VB6 中的此 Open 语句仅适用于 file_name.csv
我可以放
Dim Path As String
Path = CommonDialog.FileName
Open Path For Input As #intFileNem
我只需要知道如何删除路径中最后一个反斜杠“\”之前的所有内容。 VB6 库中有什么东西可以做到这一点吗?
路径取自普通对话框,代码
CommonDialog.DialogTitle = "Browse. . ."
CommonDialog.Filter = "CSV File (*.csv)|*.csv"
CommonDialog.ShowOpen
所以我想如果有人知道,我可能应该问一下,使用 ShowOpen 获取 public 子中的路径,然后在稍后的函数中使用带有 Open 命令的路径中的文件名不是任何类型这本身就是一个问题,对吗?
为了便于阅读,我必须在此处显示 Ghost。我使用 intFileNum 作为 long
Dim intFileNum As Long
Open Path1 For Input As #intFileNum
Do Until EOF(intFileNum)
Line Input #intFileNum, LineEnd
希望这些信息可以使情况更有意义
没有内置任何东西,但解析字符串很简单。
这是一个方便的函数。
Function ExtractFile(ByVal PathName As String) As String
Dim f As String
Dim n As Integer
' Return the filename portion of a full pathname
f$ = PathName
Do
n% = InStr(f$, "\")
If n% > 0 Then f$ = Right$(f$, Len(f$) - n%)
Loop While n% > 0
Do
n% = InStr(f$, "/")
If n% > 0 Then f$ = Right$(f$, Len(f$) - n%)
Loop While n% > 0
ExtractFile = f$
End Function
Function GetFileNameFromPath(strFullPath As String) As String
GetFileNameFromPath = Right(strFullPath, Len(strFullPath) - InStrRev(strFullPath, "\"))
End Function
但是,您的问题是由于您未使用 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
回答实际的原始问题:
说明书上写的是对的,见FileTitle Property。
换句话说,这项工作已经为您完成...假设您确实需要它。但那是另一个问题了。