今回は【AccessVBA】で開いているファイル名を取得するVBAコードをご紹介します。
私がAccessで開発しているものは日々ガンガン、プログラムを追加しているので、バージョンアップをさせていてファイルもそれに伴いガンガン増えるので、名前をその都度変えています。
『Ver.1.3』などとつけているのですが、それをメニュー部分にも表示させているのですが、毎回変更するのはさすがにめんどくさいので、メニューを開いたときにVBAコードで取得するように作っています。
今回はボタンを押したときに表示するようなコードになっていますが、『開く時』にイベントを設定すれば、メニューを開いたときにテキストボックスにバージョン(ファイル名)が表示されます。
目次
【AccessVBA】ファイル名全部を取得するコード
まずはファイル名すべてを取得します。
Accessのファイル名は『商品マスタ_test』としています。
『CurrentProject.Name』を使用します。
表示したいテキストボックスに『CurrentProject.Name』を入れてボタンを押すと任意のテキストボックスに表示されます。
Private Sub ファイル名取得_Click()
Me.サンプル = CurrentProject.Name
End Sub
このようにコードを打つと以下のようにファイル名全部が表示されます。
【AccessVBA】ファイル名の一部を取得し表示する
先ほどは『商品マスタ_test.accdb』とすべてのファイル名を取得しましたが、『test』だけ取得したい時は、文字を取り出す関数、『Mid関数』を使用します。
Mid関数の使い方
Mid関数はエクセルでもおなじみの『文字を取り出す関数』です。
Midは文字の途中を取り出す関数です。
=Mid(文字列,開始位置,文字数)
これを当てはめてみると以下のようになります。
=Mid(”商品マスタ_test.accdb”,9,4)
開始位置が9番目からスタートで、4文字抜き出すので上のような式になります。
今回はこの『開始位置』の部分をテキストボックスに当てはめます。
Private Sub ファイル名取得_Click() Me.表示 = Mid(Me.サンプル, 9, 4) End Sub
この二つを組み合わせると文字の一部を取り出すことができます。
先ほど『サンプル』というテキストボックスに開いているファイル名をすべて取得しているので、そこからMidを使って文字の一部を取り出します。
Private Sub ファイル名取得_Click()
Me.サンプル = CurrentProject.Name
Me.表示 = Mid(Me.サンプル, 9, 4)
End Sub
解説
最初に『サンプル』テキストボックスにファイル名のすべてを取得し、表示します。
そして、『表示』というテキストボックスに抽出した一部の文字を表示します。
今回は【AccessVBA】コードを使って現在開いているファイル名を取得する方法』でした。
最後までお読みいただきありがとうございました。