关于VB打开随机文件的问题,高手进

来源:百度知道 编辑:UC知道 时间:2024/06/02 00:38:11
请先运行一下下面代码(注意:这个代码只是演示,肯定是错误的,请不说代码有误)
运行后,会发现在C根目录下建立一个abc.cba的空文件,但我不想让他自动创建空文件,因为我是读取文件!(在实际应用中,会有找不到相关文件的时间,这时我并不想让他自动创建文件,同时还要自动忽略错误,即rusume next)

问题:如何在使用on error resume next 语句的前提下,防止打开不存在的随机文件时,不让程序自动创建空文件!?回答的好有加分!!!

Private Sub Form_Load()
On Error Resume Next
Open "c:\abc.cba" For Random As #1 Len = 12
Get #1, bb, aa
Close
End Sub
代码为下面的形式也会自动创建新文件,有什么方法不让他创建?? 我知道可以在打开前先判断文件是否存在,如果不存在就不读取!但我不想这样做,只是希望打开文件时不让他自动创建!!!

Private Sub Form_Load()
On Error Resume Next
Open App.Path & "\" & "1.abc" For Random As #1 Len = 12
Unload Me
End Sub

随机文件做不到,只能用Input模式(open xx for input as 1),这样就不会创建了。必须用Random的话,只能先行判断。

其实你在打开那个文件之前先判断一下文件是否存在即可。
Private Sub Form_Load()
On Error Resume Next
if dir (App.Path & "\" & "1.abc")<>"" then
Open App.Path & "\" & "1.abc" For Random As #1 Len = 12
Unload Me
end if
End Sub

在编程时经常会用到判断文件是否存在,比如对文件做读写操作前,或是判断密钥文件是否存在等。判断的方法有很多,有些方法虽很实用,但有点繁琐。其实还可以有更简单的方法,就是使用vb 6.0提供的filesystemobject对象。

filesystemobject对象不是vb内置对象,使用前必须首先选择[工程]→[引用],在出现的窗口中选择“microsoft scripting runtime”,然后利用filesystemobject的fileexists方法来判断文件是否存在。示例程序代码如下:

private sub command1_click()

′引用filesystemobject对象

dim fs as new filesystemobject

′利用filesystemobject对象的fileexists

′方法判断文件是否存在

if fs.fileexists(〃c:*.gif〃) then

msgbox 〃文件存在〃

else

msgbox 〃文件不存在〃

end if