次の関数を変換して、0または1だけでなく、次の3つの出力が得られるようにするのは簡単でしょうか。
0-ファイルが閉じていることを意味します1-ファイルがすでに開いていることを意味します2-ファイルが存在しないことを意味します
これが機能です
Function IsFileReadOnlyOpen(FileName As String)
Dim iFilenum As Long
Dim iErr As Long
On Error Resume Next
iFilenum = FreeFile()
Open FileName For Input Lock Read As #iFilenum
Close iFilenum
iErr = Err
On Error GoTo 0
Select Case iErr
Case 0: IsFileReadOnlyOpen = 0
Case 70: IsFileReadOnlyOpen = 1
Case Else: Error iErr
End Select
End Function