Barrett(バレット)

趣味がメインとなっています。
最近はツイッターでの「つぶやき」のまとめが多いです。
通常更新は、休止状態です。

VBA備忘録2(指定ファイル内にあるデータのファイル名、拡張子取得し、一覧とする)

2024-04-14 19:44:12 | 携帯より更新/つぶやき(まとめ)
Sub GetFileName()

'FileSystemObjectの設定
Dim fs As Scripting.FileSystemObject
Set fs = New Scripting.FileSystemObject

'シート設定
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")

'ダイアログを開いてフォルダ選択
Dim path As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
path = .SelectedItems(1)
End If
End With

'選択したフォルダが存在するかどうかチェック
If fs.FolderExists(path) = False Then
MsgBox "フォルダを選択してください"
Exit Sub
End If

'フォルダを取得
Dim basefolder As Scripting.Folder
Set basefolder = fs.GetFolder(path)

'フォルダ内のファイルを取得
Dim myfiles As Scripting.Files
Set myfiles = basefolder.Files

'変数設定
Dim i As Long
Dim myfile As Scripting.File

'フォルダ内のファイルを取得
For Each myfile In myfiles
i = i + 1
ws.Range("A6").Offset(i, 0).Value = i
ws.Range("B6").Offset(i, 0).Value = fs.GetFileName(myfile)
ws.Range("C6").Offset(i, 0).Value = fs.GetExtensionName(myfile)
Debug.Print fs.GetBaseName(myfile)
Next

'オブジェクト解放
Set myfile = Nothing
Set myfiles = Nothing
Set basefolder = Nothing
Set fs = Nothing

Worksheets("Sheet2").Activate 'シート変更

End Sub

最新の画像もっと見る