【发布时间】:2015-04-22 07:54:56
【问题描述】:
在我的 VB6 代码中我有声明
Open CommonDialog.FileName For Input As #intFileNum
问题是 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
我只需要知道如何删除 Path 中最后一个反斜杠“\”之前的所有内容。 VB6 库中有什么东西可以做到这一点吗?
路径是从普通对话框和代码中绘制的
CommonDialog.DialogTitle = "Browse. . ."
CommonDialog.Filter = "CSV File (*.csv)|*.csv"
CommonDialog.ShowOpen
所以我想如果有人知道,我可能应该问,使用 ShowOpen 获取公共子目录中的路径,然后在稍后的函数中使用带有 Open 命令的路径中的文件名本身并不是任何问题对吧?
为了便于阅读,我必须在此处显示 Ghost。我使用 intFileNum 作为一个 long
Dim intFileNum As Long
Open Path1 For Input As #intFileNum
Do Until EOF(intFileNum)
Line Input #intFileNum, LineEnd
希望这些信息可以使情况更有意义
【问题讨论】:
-
我一直使用完整路径+文件名来打开文件。并不是说不能只使用文件名,而是必须将当前工作目录设置为文件所在的文件夹;不这样做将导致有趣的错误追查。
-
好的,我收到错误 52 bad file name or number MSDN 说“名称必须以字母或数字开头。它可以包含任何大写或小写字符(文件名不是区分大小写),但以下字符除外:引号 (")、撇号 (')、斜杠 (/)、反斜杠 ()、冒号 (:) 和竖线 (|)。” 当然,我尝试对测试进行硬编码要调试的文件名并得到相同的错误
-
以及如何定义#intFileNem。你在使用 FreeFile 吗?
-
所以也许 VB6 与我在问题的第二部分中提到的我所做的事情有一个单独的问题,并给了我错误的错误,或者只是在 MSDN 上不够清楚。我不认为我已经做了任何事情来关闭作为错误 52 的另一部分的文件。不确定我是否应该将它作为一个单独的问题发布,但它非常令人困惑且难以调试
-
#intFileNume 定义为 long 后只是 long