FileSystemObject

ファイル名を取得する【GetFileNameメソッド】【FileSystemObject】【ExcelVBA】

構文

Object.GetFileName(pathspec) 

pathspec・・・・ファイル名を取得したいパスを指定
戻り値 ・・・・・String型 ファイル名を返します。
pathspecに指定したパスからファイル名を取得します。

GetFileNameメソッドのサンプルコード

Public Sub sample()

    '■FileSystemObjectの宣言
    Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
    
    '■拡張子有で指定したら拡張子含む、無しなら含まない
    Debug.Print fso.GetFileName("C:\vba\sample.txt")    'sample.txt
    Debug.Print fso.GetFileName("C:\vba\sample")        'sample
    
    '■実は最後の\の右部分を取得しているだけである
    '  ファイルが存在するかどうかは関係ない
    Debug.Print fso.GetFileName("AAA\BBB\CCC")          'CCC
    Debug.Print fso.GetFileName("AAA")                  'AAA
    
    
End Sub

注意点

  • fso.GetFileName("AAA\BBB\CCC")でわかるようにファイルやフォルダの存在チェックはしません。
  • あくまでも最後の\(パス区切り文字)の右部分を取得しているだけである。
  • オブジェクト型変数(文字列ではない)を渡すと、実行時エラーが発生します。
    実行時エラー438「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」

関連記事

コメント

タイトルとURLをコピーしました