Огромное спасибо за ответ.
Если внести предлагаемые изменения, то ругается, тогда на команду ActiveSheet.Paste. Ругается, если так сделать:
Код |
---|
FolderName = .SelectedItems(1) |
( я убрал & \ )
или не запускается:
Код |
---|
filename = Dir(filename & "*.xl??") |
заменил на
Код |
---|
FolderName = .SelectedItems(1) |
Нашел хороший пример:
Код |
---|
Sub ShowFileDialog()
Dim oFD As FileDialog
Dim x, lf As Long
'назначаем переменной ссылку на экземпляр диалога
Set oFD = Application.FileDialog(msoFileDialogFilePicker)
With oFD 'используем короткое обращение к объекту
'так же можно без oFD
'With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Выбрать файлы отчетов" 'заголовок окна диалога
.Filters.Clear 'очищаем установленные ранее типы файлов
.Filters.Add "Excel files", "*.xls*;*.xla*", 1 'устанавливаем возможность выбора только файлов Excel
.Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов
.FilterIndex = 2 'устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы)
.InitialFileName = "С:\Temp\Книга1.xlsx" 'назначаем папку отображения и имя файла по умолчанию
.InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов)
If oFD.Show = 0 Then Exit Sub 'показывает диалог
'цикл по коллекции выбранных в диалоге файлов
For lf = 1 To .SelectedItems.Count
x = .SelectedItems(lf) 'считываем полный путь к файлу
Workbooks.Open x 'открытие книги
'можно также без х
'Workbooks.Open .SelectedItems(lf)
Next
End WithEnd Sub |
Спасибо за помощь! Думаю, вопрос решен