カレントフォルダや絶対パスを取得
カレントフォルダと絶対パスを取得する 3行マクロ 63回
ブックのカレントフォルダや絶対パスを取得する
Excelが利用する規定のカレントフォルダ(規定のローカルファイルの保存場所)を取得したい時に使うマクロです。
(サンプルファイルは、こちらから 3行マクロ63回サンプルデータ)
Excelバージョン:
ブックのカレントフォルダとは
通常ファイルを開くときは、Excelは規定のフォルダを開きます。これがカレントフォルダです。
呼び方はExcelのバージョンによって変わっています。Excel2003まではカレントフォルダ名、Excel2007,Excel2010では、規定のファイルの場所と呼び、
Excel2013以降では、規定のローカルファイルの保存場所と呼ぶようになりました。
このフォルダは、使いやすいようにユーザーがExcelのオプションの保存にある 規定のローカルファイルの保存場所に使いたいフォルダを入力することで変更することができます。
下図では、カレントフォルダをオプションでDドライブ直下のexcel_site-sampleに変更しています。
このフォルダは、使いやすいようにユーザーがExcelのオプションの保存にある 規定のローカルファイルの保存場所に使いたいフォルダを入力することで変更することができます。
下図では、カレントフォルダをオプションでDドライブ直下のexcel_site-sampleに変更しています。
ブックのカレントフォルダを取得
マクロでカレントフォルダ(規定のローカルファイルの保存場所)を取得したり設定したい時に使うのは、DefaultFilePath プロパティです。
DefaultFilePath プロパティは、カレントフォルダを変更したり、フォルダ名を取得できます。
以下のコードを実行すると、カレントフォルダを取得しメッセージボックスに表示する事ができます。
Sub ブックのカレントフォルダ名() MsgBox Application.DefaultFilePath End Sub
カレントドライブのパスをA1セルに入力するには、
Sub ブックのカレントフォルダ名2() Range("A1").Value = Application.DefaultFilePath End Sub
ブックのカレントフォルダを変更する
オプションを開いて設定することなく、カレントフォルダ(規定のローカルファイルの保存場所)を変更できます。
以下のコードでは、カレントフォルダを D:\excel_site-sample\Excel 2013に変更し、メッセージボックスに表示します。
Sub カレントフォルダを変更() Application.DefaultFilePath = "D:\excel_site-sample\Excel 2013" MsgBox Application.DefaultFilePath End Subカレントフォルダを変更しました。A1セルには、変更前のカレントフォルダのパスが入力されています。
ブックの名前までの絶対パスを取得する
今度は、作業中のブックパスとファイル名を取得しましょう。作業中のブックは1度保存されているものとします。
使うのは、WorkbookオブジェクトのFullName プロパティです。
Sub ブックのフルネーム() MsgBox ActiveWorkbook.FullName End Sub
マクロを実行するとパスを含む名前を表示します。
作業中のブックのパスだけを取得したいのなら、WorkbookオブジェクトのPath プロパティを使う事ができます。
Sub ブックのパス() MsgBox Application.ThisWorkbook.Path End Sub Sub ブックのパス2() MsgBox Application.ActiveWorkbook.Path End Sub