Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как перебрать в папке какой-то тип файлов? / 6 сообщений из 6, страница 1 из 1
07.07.2014, 13:00
    #38689356
asd456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
Этот код использую для перебора файлов. Но, этот код перебрает все файлы в папке. А мне надо какой-то тип файлов, например DOC или TXT. Как можно делать такое?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
x = "D:\"
file = Dir(x)
i = 1
Do While file <> ""
....

Loop
...
Рейтинг: 0 / 0
07.07.2014, 13:03
    #38689357
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
Код: vbnet
1.
x = "D:\*.txt"
...
Рейтинг: 0 / 0
07.07.2014, 13:11
    #38689363
asd456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
Тогда в чем моя ошибка здесь ?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
x = "D:\*.txt"
file = Dir(x)
i = 1
Do While file <> ""
    i = i + 1
    Set b = Workbooks.Open(Filename:=x & file, UpdateLinks:=0)
    b.SaveAs CStr(i) & ".xls", FileFormat:=xlOpenXMLWorkbook
    b.Close savechanges:=True
    file = Dir
Loop
...
Рейтинг: 0 / 0
07.07.2014, 13:25
    #38689368
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
asd456,

как минимум в отсутствии полного пути для сохранения и в том, что расширение ".xls" не является верным для типа xlOpenXMLWorkbook. Правильный тип: xlNormal. Или расширение указывайте ".xlsx".
Дальше:
Код: vbnet
1.
Set b = Workbooks.Open(Filename:=x & file, UpdateLinks:=0)


Посмотрите, что у Вас в x хранится. Удивитесь результату.
правильно:
Код: vbnet
1.
Set b = Workbooks.Open(Filename:="D:\" & file, UpdateLinks:=0)


Ну и при сохранении так же добавьте путь к файлу:
Код: vbnet
1.
b.SaveAs "D:\" & CStr(i) & ".xls", FileFormat:=xlOpenXMLWorkbook



И по-хорошему i = i + 1 надо в конец цикла запихивать, а не в начало. Хотя тут смотря в чем цель...
...
Рейтинг: 0 / 0
07.07.2014, 15:44
    #38689557
asd456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
Использую такой код, наконец все нормально работает. Только вот 1-й столбец не принимается как дата (общий остается). А при простого "сохранит как- xlsx" такого проблема не бывает. Помогите пожалуйста, что надо менять в этом коде, чтобы формат ячеек 1-го столбца была как дата?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim x As String
Dim file As String
Dim a As Workbook
Dim b As Workbook
Dim i As Integer
Set a = ThisWorkbook
x = "D:\1\*.txt"
file = Dir(x)
i = 1
Do While file <> ""
    i = i + 1
    Set b = Workbooks.Open(Filename:="D:\1\" & file, UpdateLinks:=0)
    b.SaveAs "D:\1\" & file & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    b.Close savechanges:=True
    file = Dir
Loop
...
Рейтинг: 0 / 0
07.07.2014, 16:55
    #38689620
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать в папке какой-то тип файлов?
Запишите макрос открытия своего txt файла, возможно там окажутся какие-то дополнительные ключи
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как перебрать в папке какой-то тип файлов? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]