Из Директории все .txt в 1 лист Excel - как?

Программирование на Visual Basic for Applications
shankove
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 5
Зарегистрирован: 13.10.2007 (Сб) 17:29
Откуда: Moscow

Из Директории все .txt в 1 лист Excel - как?

Сообщение shankove » 22.10.2007 (Пн) 22:25

Пожалуйста, подскажите метод, чтобы Эксель подтянул данные из директории, где лежат (положим) txt файлики на один рабочий лист. Каждый файлик - в столбец.
aa abbb.txt в столбик А
ccccdd dd.txt в столбик В
и т.д.
Всего их 147. Не охота каждый отдельно открывать.

P.S: у меня все вопросы по одному и тому же поводу... пока ответов не слышала.
Вера Ш.
Vera_Mix@mail.ru

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Re: Из Директории все .txt в 1 лист Excel - как?

Сообщение Lumen » 22.10.2007 (Пн) 23:09

shankove писал(а):Не охота каждый отдельно открывать.

А видимо придется...
Мне тут как-то приписали то, что я хочу прочитать файл не открывая его (хотя мне не это надо было), и очень доходчиво и понятно объяснили (хотя я в принципе и так это знал), что так сделать не получится.
Хотя можно открыть не этот файл, а например жесткий диск, найти в таблице размещения файлов адреса кластеров, в которых лежат твои файлы и читать по этим адресам файлы в RAW режиме. Это конечно не в тему, но я к тому вел речь, что можно прочесть файл, не открывая его
Подпись проходит рефакторинг

Genyaa
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 17.10.2006 (Вт) 13:46

Сообщение Genyaa » 22.10.2007 (Пн) 23:28

См. пример в топике "FoundFiles Object" Help'a по VBA Excel. Небольшое преобразование примера, приведенного там, позволит открыть все нужные файлы один за другим по циклу... Разместить содержимое каждого из них в новом столбце не должно составить труда.
Всякое решение плодит новые проблемы.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: Из Директории все .txt в 1 лист Excel - как?

Сообщение SSecurity » 30.10.2007 (Вт) 0:02

shankove писал(а):Пожалуйста, подскажите метод, чтобы Эксель подтянул данные из директории, где лежат (положим) txt файлики на один рабочий лист. Каждый файлик - в столбец.
aa abbb.txt в столбик А
ccccdd dd.txt в столбик В
и т.д.
Всего их 147. Не охота каждый отдельно открывать.

P.S: у меня все вопросы по одному и тому же поводу... пока ответов не слышала.



P.S.: ссылка в Tools > References на Microsoft Scripting Runtime

Код: Выделить всё
Dim FSO As New FileSystemObject

Sub filemaker()
  On Error Resume Next
  Dim OneFile As File
  Path = InputBox("Please enter path", "Folder view", CurDir)
  Dim WB As Worksheet
  Set WB = ActiveSheet
  WB.Cells.Clear
  If Dir(Path) = "" Then Exit Sub
  P = 1
  For Each OneFile In FSO.GetFolder(Path).Files
    If LCase$(OneFile.Name) Like "*.txt" Then
      P = P + 1
      WB.Cells(2, P).Value = OneFile.Name
      WB.Cells(3, P).Value = Replace(OneFile.OpenAsTextStream.ReadAll, vbCrLf, vbLf)
    End If
  Next
End Sub
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList