FileSystemObject

フォルダ・ファイルの短いパス(8.3形式)を取得する【ShortPathプロパティ】【FileSystemObject】【ExcelVBA】

構文

Object.ShortPath

ShortPath・・・・指定したObjectの短いパス名を取得します。
Fileオブジェクト、Folderオブジェクトの8.3形式のパスを取得します。
8.3形式とは、MS-DOSや Windows 3.x までのWindowsのファイル名、Windows 95 以降のWindowsの「短いファイル名 (short filename; SFN)」などに適用される、ファイル名の形式です。

ShortPathプロパティのサンプルコード

Public Sub sample()

    '■FileSystemObjectの宣言
    Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
    
    '■フォルダのパスを取得(8.3形式のパスを取得)
    Debug.Print fso.GetFolder("C:\Program Files (x86)\Windows Defender").ShortPath                  'C:\PROGRA~2\WINDOW~1
    
    '■ファイルのサイズを取得(8.3形式のパスを取得)
    Debug.Print fso.GetFile("C:\Program Files (x86)\Windows Defender\EppManifest.dll").ShortPath    'C:\PROGRA~2\WINDOW~1\EppManifest.dll
    
End Sub

注意点

  • フォルダが存在しなければエラー発生します。FolderExistsで事前確認必要です。
    実行時エラー76「パスが見つかりません。」
  • ファイルが存在しなければエラー発生します。FileExistsで事前確認必要です。
    実行時エラー53「ファイルが見つかりません。」

関連記事

コメント

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