FSO 従来の8.3形式のファイル名取得

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Function FSOFileShortName(ByVal FilePath As String)
'**************************************
'FSO 従来の 8.3 形式のファイル名取得
'**************************************
'パスはファイルを指定
'該当パスが無い場合はエラーになります。
Dim Fso, f, s
Set Fso = CreateObject("Scripting.FileSystemObject")
Set f = Fso.GetFile(FilePath)
s = UCase(f.Name) & " ShortName:" & f.ShortName
FSOFileShortName = s
'UCase 関数
'指定したアルファベットの小文字を大文字に変換する文字列処理関数です。
'小文字だけが大文字に変換されます。
'小文字のアルファベット以外の文字は影響を受けません。

End Function


Private Sub test()
FSOSetDLL 'FSO参照設定
Dim p As String
Dim m As String
p = ThisWorkbook.Path
m = ThisWorkbook.Name
Debug.Print FSOFileShortName(p & "\" & m)
'KEYWORD修正.XLS ShortName:KEYWOR~1.XLS
End Sub

 

2000年01月01日|[VBサンプルコード]:[FSO]