Memorandum

ブックパス・その他パスの取得

ブックパスや、Excelアプリケーションに関する様々なパス取得サンプルコードとメモです。

ポイント

・Excel既定のフォルダのパス取得
・アドインライブラリフォルダ(全ユーザー、ログインユーザー)のパス取得
・ブック名の取得
・ブックパスの取得
・パスセパレータ


サンプルコード

各種パスの取得

Const conDFP As Long = 0 'Excel既定フォルダのパス
Const conAP As Long = 1 'Excelのパス
Const conASP As Long = 2 'Excel起動フォルダのパス
Const conLP As Long = 3 'アドインライブラリフォルダ(全ユーザー)
Const conULP As Long = 4 'アドインライブラリフォルダ(ログインユーザー)
Const conBN As Long = 5 'ブックの名前
Const conBP As Long = 6 'ブックのパス
Const conBFN As Long = 7 'ブックのフルパス(ブックパス+ブック名)

Sub Get_Path_Sample() MsgBox Get_Path(conBFN, ActiveWorkbook) 'MsgBox Application.PathSeparator 'パスセパレータの表示 End Sub
Function Get_Path(ByVal Ptype As Long, Optional WB As Workbook) As String With Excel.Application If WB Is Nothing Then Set WB = .ThisWorkbook Select Case Ptype Case 0: Get_Path = .DefaultFilePath Case 1: Get_Path = .Path Case 2: Get_Path = .StartupPath Case 3: Get_Path = .LibraryPath Case 4: Get_Path = .UserLibraryPath Case 5: Get_Path = WB.Name Case 6: Get_Path = WB.Path Case 7: Get_Path = WB.FullName End Select If Len(Get_Path) = 0 Then Get_Path = WB.Path End With End Function

メモ

Application.DefaultFilePathプロパティ

Excel起動時にExcelが使うデフォルトフォルダが、DefaultFilePathである。
値の取得・設定が可能。この設定の変更はExcelを再起動しても保持される。
手動でも設定可能。Excel2010の場合:「ファイル」→「オプション」→「保存」→「既定のファイル場所」
コードでの設定例:Application.DefaultFilePath = ThisWorkbook.Path

Application.Pathプロパティ

Excelのインストールされているフォルダの絶対パスを返す。パス末尾にパスセパレータは含まれない。

Application.StartupPathプロパティ

このプロパティで取得できるフォルダパスは、XLSTARTフォルダである。このフォルダに保存したファイルは、Excel起動時に自動で読み込まれる。テンプレートやマクロファイルの置き場所として使用。パス末尾にパスセパレータは含まれない。

Application.LibraryPathプロパティ

このプロパティは、そのコンピュータを利用する全ユーザーが、共通で使用できるアドインライブラリフォルダのパスを取得できる。パス末尾にパスセパレータは含まれない。

Application.UserLibraryPathプロパティ

このプロパティは、そのコンピュータにログインしたユーザーが使用できる、アドインライブラリフォルダのパスを取得できる。パス末尾にパスセパレータは含まれない。

Workbook.Nameプロパティ

該当ブックの名前を取得するプロパティ。ブックが保存されていれば、拡張子も取得する。新規ブックではブック名のみ取得。

Workbook.Pathプロパティ

該当ブックの保存されているフォルダを取得するプロパティ。パス末尾にパスセパレータは含まれない。
ブックを保存していない場合や、Application.Quitを実行した後は空の文字列が返る。

Workbook.FullPathプロパティ

該当ブックの保存されているフォルダ+ブック名を併せた形で取得するプロパティ。

Application.PathSeparatorプロパティ

フォルダやファイルを接続するパスセパレータを取得できる。Windowsの日本版では「\」であるが、Macや英語版では異なる。

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.