• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:もし該当のアクセスファイルが開いているのなら開かな)

Excelからアクセスファイルを開く方法と事前の確認

このQ&Aのポイント
  • Excelからアクセスファイルを開く方法について教えてください。また、既にアクセスファイルが開かれている場合に開かないようにする方法も知りたいです。
  • 「GetObject」と「CreateObject」のどちらでアクセスファイルを開くのが良いのでしょうか?また、開いているアクセスファイルを確認する方法も教えてください。
  • エクセルからアクセスファイルを開く際、既にアクセスファイルが開かれている場合に開かないようにする方法を知りたいです。また、「OpenCurrentDatabase」の使用によってエラーが発生する場合の対処方法も教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

自身のPCでローカル上のファイルを開いているかの確認は 簡易的にはロック情報ファイルの有無を確認すれば良いと思います。 D:\ アクセスファイル名.mdb → D:\ アクセスファイル名.ldb 2007以降の accdb なら laccdb。 ただ、ファイルを閉じるときにldbファイルが消えずに残ってしまう場合があります。 なので標準モジュールに Function chkAcc(AccFile As String) As Boolean 'ldb、laccdb ファイルが有効であればTrueを返します。 On Error GoTo errH If Dir(AccFile) = "" Then chkAcc = False Exit Function End If Name AccFile As AccFile '同名でリネーム試行 chkAcc = False Exit Function errH: chkAcc = True End Function と作成し、サブモジュールでは If chkAcc(""D:\ アクセスファイル名.ldb "") then msgbox "既に開いています" exit sub end if のようにチェックしてみるとか・・・。 ただ2、mdbファイルを排他モードで開いている場合は、ldb ファイルは 作成されませんので、この手は使えません。 以上ご参考まで。

KPITLHFK
質問者

お礼

どうもありがとうございました。

関連するQ&A