|
▼koko さん:
配列にいれて一度にシートに貼り付けています。
ホルダー選択のダイアログも出して起きます。
Sub GetFileNm()
Dim strDir As String
Dim FNM
Dim i As Long
Dim objFileDialog As FileDialog
Dim varFiles As Variant
' ホルダー選択
Set objFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
With objFileDialog
.Filters.Clear 'フィルターのクリア
.InitialFileName = CreateObject("WScript.Shell").SpecialFolders("Desktop")
' .Filters.Add "Excelワークブック", "*.xls" 'フィルターの設定1
.Show 'ダイアログの表示
If .SelectedItems.Count > 0 Then
strDir = .SelectedItems(1)
End If
End With
Worksheets("File").Cells.ClearContents
If strDir = "" Then Exit Sub
' ホルダ内容のセット
With CreateObject("Scripting.FileSystemObject").GetFolder(strDir)
ReDim varFiles(1 To .Files.Count, 1 To 1)
For Each FNM In .Files
i = i + 1
varFiles(i, 1) = FNM.Name
Next
End With
Worksheets("File").Range("A1").Resize(UBound(varFiles)).Value = varFiles
End Sub
|
|