MyTetra Share
Делитесь знаниями!
GetFilePath - Диалог выбора файлов(вернет словарь полных имен)
Время создания: 16.03.2019 23:43
Текстовые метки: FileDialog, mso
Раздел: !Закладки - VBA - GetOpen
Запись: xintrea/mytetra_db_adgaver_new/master/base/15060691436un904tt2m/text.html на raw.githubusercontent.com

'==================================================================

'##### Вернет словарь(vfccbd) полных имен выбранных файлов

'

'------------------------------------------------------------------

Sub testListFile()

'Microsoft Access Database (.mdb)

strPath = "<path_to_folder_or_file>"

aFile = ListFile(strPath, "Выбрать файлы", "*.mdb*;*.accdb*", "Access files", "Выбрать", True).Keys

Desktop Intelligence Document (.rep)


env$ = Environ("COMPUTERNAME")

env$ = Environ("Path")

strUserName$ = Environ("USERNAME")

strPath = "C:\Users\" & Environ("USERNAME") & "\Downloads\"

aFile = ListFile(strPath:=strPath, _

strTitle:="Выбрать данные из IFF за ТСМ текущего рабочего дня", _

strFilterExtention:="*.xlsx*;*.xls*", _

strFilterDescription:="Excel File", _

strButtonName:="ЖГИ", _

blnMultiSelect:=False).Keys

h = UBound(aFile)

If UBound(aFile) < 0 Then Exit Sub 'если не выбрано ни одного файла, то выходим

End Sub

Function ListFile(Optional ByVal strPath As String = "c:\", _

Optional ByVal strTitle As String = "Выберите файл для обработки", _

Optional ByVal strFilterExtention As String = "*.*", _

Optional ByVal strFilterDescription As String = "Файлы счетов", _

Optional ByVal strButtonName As String, _

Optional ByVal blnMultiSelect As Boolean = True) As Object

'strTitle - 'заголовок окна диалога

'strButtonName - надпись на кнопке

'blnMultiSelect - множественный выбор

' Dim ListFile()

Dim oFD As FileDialog

Dim x, lf As Long

Set ListFile = CreateObject("Scripting.Dictionary"): ListFile.comparemode = 0

'Открыть диалог выбора файла

Set oFD = Application.FileDialog(msoFileDialogFilePicker)

With oFD 'используем короткое обращение к объекту

.AllowMultiSelect = blnMultiSelect

.Title = strTitle '"Выбрать файлы отчетов FMD"

.ButtonName = strButtonName '"Выбрать файлы Excel"

.Filters.Clear 'очищаем установленные ранее типы файлов

' .Filters.Add "Excel files", "*.xlsx*;*.xls*", 1 'устанавливаем возможность выбора только файлов Excel

.Filters.Add strFilterDescription, strFilterExtention, 1 'устанавливаем возможность выбора только файлов Excel

.FilterIndex = 1 'устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы)

.InitialFileName = strPath '& "nonSSARDetail" '"C:\Temp\Книга1.xlsx" 'назначаем папку отображения и имя файла по умолчанию

.InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов)

If .Show = 0 Then Exit Function 'показывает диалог


'цикл по коллекции выбранных в диалоге файлов

'словарь имен файлов

For lf = 1 To .SelectedItems.Count

' ll = .SelectedItems

mainKey = .SelectedItems(lf) 'считываем полный путь к файлу

If ListFile.exists(mainKey) Then

Else

ListFile.Add mainKey, ListFile.Count

End If

Next

End With

' Range("strLastPath").Value = oFD.InitialFileName 'strPath

End Function

'==================================================================

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования