Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Список файлов в директории . Добавлено: 07.05.07 17:08  

Автор вопроса:  Zhenja_
Привет всем.
Как с помощю VBA вывести на лист список всех *.xls файлов определенной директории?
Если можна, проилюстрируйте исходником ... буду очень признателен.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Zhenja_



Вопросов: 5
Ответов: 5
 Профиль | | #1 Добавлено: 07.05.07 18:01
Нашел такой вариант. Правда пока без фильтра, но думаю с этим проблем не будет.
 Если кому надо ...

 Dim m As integer
 Dim fso As FileSystemObject
 Dim f As Folder
 Dim fc As Files
 Dim fl As File
 MyPath = "C:\temp" 'путь к папке
 Set fso =       CreateObject ("Scripting.FileSystemObject";)
 Set f = fso.GetFolder(MyPath)
 Set fc = f.Files
 m = 0
 For Each fl In fc
    m = m + 1
    Range("A" & m).Value = fl.Name
 Next

Может попросить подключить библиотеки.
Я лично в ссылках добавил: Microsoft Scripting Runtime

Ответить

Номер ответа: 2
Автор ответа:
 Сашок



ICQ: 387093431 

Вопросов: 1
Ответов: 70
 Профиль | | #2 Добавлено: 07.05.07 18:11
Также можно юзать и классические примеры, например :

  Dim A As String
  A = Dir$("C:\*.*", vbHidden + vbArchive + vbReadOnly + vbSystem)
  Do While A <> ""
    Debug.Print A
    A = Dir$
  Loop

Ответить

Номер ответа: 3
Автор ответа:
 Сашок



ICQ: 387093431 

Вопросов: 1
Ответов: 70
 Профиль | | #3 Добавлено: 07.05.07 18:17
Да, есть одно замечание к Zhenja_.

Во-первых когда юзаешь CreateObject, тогда подключать никаких библиотек не нужно, т.е. вот такой код у тебя прокатит :

 Dim fso 'As FileSystemObject
 Dim f 'As Folder
 Dim fc 'As Files
 Dim fl 'As File
 MyPath = "C:\" 'путь к папке
 Set fso = CreateObject("Scripting.FileSystemObject";)
 Set f = fso.GetFolder(MyPath)
 Set fc = f.Files
 m = 0
 For Each fl In fc
     Debug.Print fl.Name
 Next
End Sub

И во вторых если уже подключил библиотеки тогда забери строчку

Set fso =       CreateObject ("Scripting.FileSystemObject";)

А вместо

Dim fso As FileSystemObject

напишы

Dim fso As new FileSystemObject

Ответить

Номер ответа: 4
Автор ответа:
 Zhenja_



Вопросов: 5
Ответов: 5
 Профиль | | #4 Добавлено: 07.05.07 20:36
Да, есть одно замечание к Zhenja_.

Спасибо что прокоментировали мой пост. А то на радостях что все роботает, даже не обратил внимания на такие вещи.

Ответить

Номер ответа: 5
Автор ответа:
 Дмит



Вопросов: 11
Ответов: 160
 Web-сайт: dimit.pochta.ru
 Профиль | | #5
Добавлено: 07.05.07 21:29
Для информации - посмотри справку на Application.FileSearch

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам