メニュー

Home >Microsoft Office Excel>マクロ/VBA> ファイルパスからファイル名・ファイルのフォルダパスを取得する方法

【Microsoft Office Excel】【マクロ/VBA】ファイルパスからファイル名・ファイルのフォルダパスを取得する方法

2015/04/24 14:40|タグ:Dir関数Replace関数グッジョブ表示 26

あるファイルのフルパス(フォルダパス+ファイル名)が、特定のセルに入力されているとします。
マクロ(VBA)を使って上記フルパスを ファイル名 と ファイルのフォルダパス に分割して表示する方法は以下のとおりです。

条件設定)
ファイルのフルパスが表示されているセル … Sheet1シートのA1セル
ファイル名を入力するセル … Sheet1シートのA2セル
ファイルのフォルダパスを入力するセル … Sheet1シートのA3セル

Sub Get_FileName_And_FilePath()
'====================================================================================
' ファイルのフルパスからファイル名とファイルのフォルダパスを取得して表示するマクロ
'====================================================================================
ThisWorkbook.Activate
'// ファイルパスからファイル名を取得する。
    Dim filePath As String, fileName As String
    filePath = Worksheets("Sheet1").Range("A1").Value    'A1セルを変数(filePath)に代入
    fileName = Dir(filePath)                             'ファイル名を変数(fileName)に代入
'// ファイルの存在確認
    If fileName = "" Then
        '// ファイルがなければメッセージを表示して終了
            MsgBox "指定されたファイルは存在しません。", vbExclamation
    Else
        '// ファイルがあればB1セルにファイル名を入力
            Worksheets("Sheet1").Range("A2").Value = fileName
        '// フォルダパスを変数(fileFolderPath)に代入
            Dim fileFolderPath As String
            fileFolderPath = Replace(filePath, fileName, "")
        '// フォルダパスをC1セルに入力
            Worksheets("Sheet1").Range("A3").Value = fileFolderPath
        '//メッセージを表示して終了
    End If
End Sub

ワンポイント

Dir関数は、引数に指定したファイルが存在したときにファイル名を返す関数です。
Replace関数は引数に指定した文字列を置換する関数です。置換後の文字列を「""」空白にすれば、置換前の文字列を削除することができます。

 

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

新着コメント

Twitter

サイト内検索

ページ上部へ