分かりやすく、使いやすく。

パスからファイル名を取得する方法

スポンサーリンク

Excel VBA で相対パスや絶対パスからファイル名を取り出すには、 FileSystemObject の GetFileName を使用します。

絶対パスからファイル名を取り出すサンプルコードは次の通りです。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
 
Sub test()
    Dim objFileSys As Object
    Dim fileName As String
    
    'ファイルシステムを扱うオブジェクトを作成
    Set objFileSys = CreateObject("Scripting.FileSystemObject")
     
    '拡張子無しのファイル名を取得
    fileName = objFileSys.GetFileName("c:\temp\data\顧客リスト.xlsx")
    
    Debug.Print fileName
    
    Set objFileSys = Nothing
End Sub 

上記の実行結果は次の通りです。

実行結果
1
顧客リスト.xlsx 

相対パスの場合も使い方は同じ

相対パスからファイル名を取り出すサンプルコードは次の通りです。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
 
Sub test()
    Dim objFileSys As Object
    Dim fileName As String
    
    'ファイルシステムを扱うオブジェクトを作成
    Set objFileSys = CreateObject("Scripting.FileSystemObject")
     
    '拡張子無しのファイル名を取得
    fileName = objFileSys.GetFileName("..\..\顧客リスト.xlsx")
    
    Debug.Print fileName
    
    Set objFileSys = Nothing
End Sub 

上記の実行結果は次の通りです。

実行結果
1
顧客リスト.xlsx 
スポンサーリンク
スポンサーリンク