|
▼かみちゃん さん、みなさん、おはようございます。
>
>>Dirを使うのは最悪で、FSOのFileExistを使用するべきですね。
>>
>>DirだとExcelで開けるFileでも、ErrorになってしまうCaseが存在しますので・・・
>
>これは、VBAでDir関数に260(Excel97は、261)バイト以上のパス名を指定すると「ファイルが見つかりません」のエラーになるケースのことでしょうか?
>いつも、エラーになる場合があることを認識しながら、簡単なので、Dir関数を使
>っていますので、それ以外に「最悪」な理由があれば、教えてください。
ファイルをオープンする時は、やっぱりOn Errorステートメントでしょうか?
ファイルが見つからない以外に思いつくエラーとしては、シェアエラーですね
つまり、別のプロセスでファイルがロックされている場合です。
以下のコードは別プロセスではないですが、
'====================================================
Sub main()
flnm = ThisWorkbook.Path & "\book1.xls"
Call mk_sample_open(flnm)
On Error Resume Next
Workbooks.Open flnm
If Err.Number <> 0 Then
MsgBox Err.Description
End If
Close #1
End Sub
'====================================================
Sub mk_sample_open(flnm)
Open flnm For Input Lock Read As #1
End Sub
このマクロを含むブックとbook1.xlsは同じフォルダ内にあるという条件です。
確認してみて下さい
|
|