FSO 従来の8.3形式のフォルダ名取得

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

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

Option Explicit


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

End Function


Private Sub test()
FSOSetDLL 'FSO参照設定
Dim p As String
p = ThisWorkbook.Path
Debug.Print FSOFolderShortName(p)
'コピー ~ TES_TGG_XX ShortName:コピー~1
End Sub

 

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