文件是否已经打开?
这是看的不知哪位大哥的代码
Function IsOpen(sFile As String) As Boolean
Dim fFile As Integer
IsOpen = False
fFile = FreeFile() ‘打开方式
On Error GoTo ErrOpen
Open sFile For Binary Lock Read Write As fFile ’????
Close fFile
Exit Function ????这为什么退出了呢
ErrOpen:
If Err.Number <> 70 Then ??这个错误号代表??
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
Else
IsOpen = True
End If
End Function
总之这个函数看的我有点转向,呵呵,小弟实在是笨啊,不理解??
请各位指点一下
[635 byte] By [
xl_0715] at [2008-3-14]
Exit Function ????这为什么退出了呢
ErrOpen:
=====================================================
后面是错误处理,如果没发生错误当然就可以退出函数了
If Err.Number <> 70 Then ??这个错误号代表??
==========================================================
试试if err.number=70 then msgbox Err.Description
谢大哥的解释 可是……
Exit Function ????这为什么退出了呢
ErrOpen:
=====================================================
后面是错误处理,如果没发生错误当然就可以退出函数了
===================================================
这个我知道了,只是最想知道的是这儿
Open sFile For Binary Lock Read Write As fFile //知道是以二进制打开文件,,那这三个是做什么的呢 {lock read write}
我这样理解这个函数对不对呢
是先打开一个文件,如果文件已经打开,就进行错误处理
可还是不知道为什么将错误号定位70?????
HOT 21:21:54Public Function IsFileOpen(sFile As Variant) As Boolean
Dim fFile As Integer
Dim msg As String
fFile = FreeFile()
On Error GoTo ErrOpen
Open sFile For Binary Lock Read Write As fFile
Close fFile
Exit FunctionErrOpen:
If Err.Number <> 70 Then
msg = "Error # " & Err.Number & " was generated by " _
& Err.Source & Chr(13) & Err.Description
MsgBox msg, , "Error", Err.HelpFile, Err.HelpContext
Else
IsFileOpen = True
End IfEnd Function
HOT 21:22:06
直接调用就好了
//Exit Function ????这为什么退出了呢
说明文件可以正常打开,判断完毕,函数完成任务,当然就要退出拉
// ??这个错误号代表??
(错误 70)
试图对写保护的磁盘进行写操作,或要访问加锁文件。此错误有以下的原因和解决方法:
为顺序 Output 或 Append 写,打开一个写保护文件。
用 Input 方式打开文件,或者修改文件的写保护属性。
用顺序 Output 或 Append 方式,打开有写保护的磁盘上的文件。
从磁盘上删除写保护,或者使用 Input 方式文件。
写入已被其他进程锁定的文件。
等其他进程释放后再打开此文件。
试图访问注册表,但用户权限不包括此类注册表访问。
在 32 位 Microsoft Windows 系统上,用户必须有访问当前系统注册表的权限。改变用户权限,或由系统管理员来修改。