現在のファイルの指定方法
今回ご紹介するコードはすごく簡単なのですが、Accessでの現在のファイルのPathを指定するコードです。
ExcelVBAでは「ThisWorkbook.Path」で覚えているのですが、Accessのファイルを指定する方法については今まで何度か忘れて→調べて思い出すを繰り返していたので、備忘録として残しておきます。
現在のデータベースのPath・ファイル名を参照するAccessVBAコード
現在のデータベースのパス・ファイル名を参照するには主に下記の3つのコードを用います。
①Application.CurrentProject.Path
現在のデータベースファイルが格納されているフォルダを参照します。
②Application.CurrentProject.Name
現在のデータベースファイルのファイル名を参照します。
③Application.CurrentProject.FullName
現在のデータベースファイルのフルパスを参照します。
①+②(厳密には①+”\”+②)を一度に参照します。
スポンサーリンク
CurrentProject.Pathを使ったVBAサンプルコード
私がよく使うのはデータベースファイルと同じフォルダにある別のファイルを開いたり参考にする時によく使います。
下記のサンプルはエクスプローラーでデータベースファイルが格納されているフォルダを開くコードになります。
Sub エクスプローラーでフォルダを開く()
Shell “C:WindowsExplorer.exe ” & Application.CurrentProject.Path, vbNormalFocus
End Sub
Shell “C:WindowsExplorer.exe ” & Application.CurrentProject.Path, vbNormalFocus
End Sub
データベースから参考にしたいファイルが多いときに便利です。
またExcelファイル操作する場合などでは下記のように同じフォルダにあるExcelファイルを指定したりします。
このコードを実行するには「ツール」→「参照設定」の「Microsoft Excel 〇〇 Object Library」を有効にしておく必要があります。
手順がわからない方はこちらを参考にしてください。
ExcelVBAでOutlook Object Libraryの参照方法を記していますが、基本的には同じ操作でMicrosoft Excel 〇〇 Object LibraryをAccessVBAで有効にすればOKです。
Sub Excel操作()
Dim ExApp As Object
Set ExApp = CreateObject(“Excel.Application”)
ExApp.Visible = True
Dim ExBook As Object
Set ExBook = ExApp.Workbooks.Open(Application.CurrentProject.Path & “” & “エクセルファイル.xlsx”)
’処理を記入する
Set ExBook = Nothing
’ExApp.Quit ’処理を加えて閉じるところまで実行するなら「’」を外す
Set ExApp = Nothing
End Sub
Dim ExApp As Object
Set ExApp = CreateObject(“Excel.Application”)
ExApp.Visible = True
Dim ExBook As Object
Set ExBook = ExApp.Workbooks.Open(Application.CurrentProject.Path & “” & “エクセルファイル.xlsx”)
’処理を記入する
Set ExBook = Nothing
’ExApp.Quit ’処理を加えて閉じるところまで実行するなら「’」を外す
Set ExApp = Nothing
End Sub
コメント