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

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

 ブックパスや、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や英語版では異なる。

Excel Tips for Teachers

Copyright (C) 2009- 坂江 保 All Rights Reserved.