ACCESSからオートメーションでExcelを開き、Workbooks
のReadOnly
プロパティを取得して現在開かれているかどうかを判別します。
まずは変数を宣言
Dim xlApp As Object
Dim xlBook As Object
Dim FileName As String
ファイルを指定します。
Environ("USERPROFILE")
はWindowsの環境変数でC:\Users\ユーザー名
というパスを返します。
FileName = Environ("USERPROFILE") & "\デスクトップ\sample.xls"
Excelのオートメーションオブジェクトを作成します。
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(FileName)
開かれたワークブックのReadOnly
プロパティがtrue
なら誰かがそのファイルを開いている、ということになります。
If xlBook.ReadOnly Then
MsgBox "開いています。"
Else
MsgBox "開いていません。"
End If
ワークブックを閉じてExcelを終了します。
xlBook.Close
xlApp.Application.Quit
最後にオブジェクトの破棄も忘れずに
Set xlBook = Nothing
Set xlApp = Nothing