MyTetra Share
Делитесь знаниями!
GetFilePath - Диалог выбора файлов(вернет словарь полных имен)
22.09.2017
11:32
Текстовые метки: FileDialog, mso
Раздел: VBA - GetOpen

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

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

'

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

Sub testListFile()

''Microsoft Access Database (.mdb)

'strPath = "I:\0ru_di\Peinture\TPM\07_QUALITE_PEINT\02_DataDefaut\DataAccess\"

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

'Desktop Intelligence Document (.rep)


'env$ = Environ("COMPUTERNAME")

'env$ = Environ("Path")

strUserName$ = Environ("USERNAME")

strPath = "\\f-akhekh\home3$\" & strUserName & "\MyDocs\My Business Objects Documents\userDocs\"

aFile = ListFile(strPath, "Выбрать файлы", "*.rep*", "Desktop Intelligence Document", "Выбрать", True).Keys

If Not IsArray(aFile) 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.52
Яндекс индекс цитирования