Для каждого выбранного файла я пытаюсь получить тип файла. Прямо сейчас я могу просто получить имя файла. В настоящее время у меня есть следующий код здесь, но мне было интересно, если это тоже было возможно. Я заимствую некоторый код из donPablo (ссылка здесь: VBA Excel FileDialog возвращает выбранный элемент в качестве объекта )
Мой код:
Dim fPath As Variant
Dim FirstRow As Long
Dim SelectedAutoCADfile As Integer
Dim vFiles As Object
Dim objFolder As Object 'This object allows you to create, delete, move or query a folder hierarchy.
Dim objFile As Object 'This object allows you to create, delete, move or query a File
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
Set fPath = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.Title = "Please select the files" 'Title of Window Pop-up
.InitialFileName = Range("F12") 'This is the shortcut pathway
.AllowMultiSelect = True 'Allow the user to multiselect
.Filters.Clear 'Clear all filters
.Filters.Add "DWG Files", "*.dwg" 'Only show AutoCAD files
ThisWorkbook.Sheets(1).Range("F12") = .SelectedItems(1) 'Document Pathway
FirstRow = Row + Sheet8.Range("D99999").End(xlUp).Row + 1 'First Available Row
Set objFSO = CreateObject("scripting.FileSystemObject") 'Create the File System Object
Set objFolder = objFSO.GetFolder(FolderSelected) 'Create the File System Folder
If .Show = True Then 'If the user selected some files
For SelectedAutoCADfile = 1 To .SelectedItems.Count 'For each of the files the user selected
Sheet7.Cells(FirstRow, 4) = Dir(.SelectedItems(SelectedAutoCADfile)) 'Writes the filename to each cell
Cells(Row, 5) = objFile.Type 'Places the FileType in this column
FirstRow = FirstRow + 1
'Go to next available row
Next
Next
'Go to next file
End If
End With