• ベストアンサー

現在開いている全てのアクセスのファイル名を取得

現在開いている全てのアクセスのファイル名を取得することは可能でしょうか? http://officetanaka.net/excel/vba/tips/tips61.htm のようにタスクマネージャーの一覧を取得して アクセスかどうかを取得するしかないでしょうか? しかし アプリケーションタイトルを設定してしまったので アクセスは上記のvbaコードを実行しても 「Microsoft Access」は取得できません。 どうしたらよいでしょう? 何か良い案はありますでしょうか?

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

こういう事でしょうか。Win7 + Office2010で確認 投稿用にタブインデントを全角スペースで代用しています。 Sub yy()   Dim Obj As Object   Dim i As Integer   Dim Reg As Object ' As RegExp   Dim Mc As Object ' As MatchCollection   Dim M As Object ' As Match   Set Reg = CreateObject("VBScript.RegExp")   For Each Obj In GetObject("winmgmts:\\.\root\cimv2") _     .ExecQuery( _     "Select * from Win32_Process Where Name = 'msaccess.exe'")     i = i + 1     With Reg       .pattern = """[^""]+"""       .IgnoreCase = False       .Global = True       Set Mc = .Execute(Obj.CommandLine)     End With     For Each M In Mc       If InStr(M.Value, ".mdb") <> 0 Or InStr(M.Value, ".accdb") <> 0 Then         Debug.Print i, M.Value       End If     Next   Next End Sub

JOZCNEYGQSEO
質問者

お礼

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

すると、全ての回答が全文表示されます。