FileSystemObject

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

構文

Object.ShortName

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

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

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").ShortName                  'WINDOW~1
    
    '■ファイル名を取得(8.3形式のファイル名を取得)
    Debug.Print fso.GetFile("C:\Program Files\Internet Explorer\sample File.txt").ShortName         'SAMPLE~1.TXT
    
End Sub

注意点

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

関連記事

コメント

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