2011年6月10日金曜日

Excel VBA ブックを開く際のエラー2

昨日は、存在しないファイルを指定した際のエラーを回避する方法について
書きましたが、今日は同一のファイル名を開く際のエラーを回避する方法について
調べました。

機能と同じように、FileSystemObjectを使って、ファイルパスからファイル名を
取得します。
取得したファイル名と同じファイルがWorkbooksに存在していないか確認する。
存在している場合は、終了する。
存在していない場合は、指定したファイルを開く。

試してみてください。

Dim fso As Object
Dim path As String
Dim filename As String

Set fso = CreateObject("Scripting.FileSystemObject")
path = "C:\参考資料.xls"
filename = fso.GetFileName(path)

For Each wb In Workbooks
    If wb.Name = filename Then
        MsgBox filename & "と同じファイル名のブックが開いています。"
        Exit Sub
    End If
Next wb

Set wb = Workbooks.Open(filename:=path, ReadOnly:=True)

0 件のコメント:

コメントを投稿