Автор: Sale525
Дата сообщения: 16.12.2010 11:56
Добрый день!
Специалисты, помогите, пожалуйста с макросом.
Суть: на входе есть куча .xls, которые имеют внутри 1 лист с данными и называются по принципу name_20101216.xls
на выходе хочется автоматически пересохранять все файлы .xls в DBF 3 файлы присваивая DBFкам имена исходных .xls (т.е. был name_20101216.xls, стал name_20101216.dbf)
В самом идеальном случае, конечно, хочется средствами Excel и VBA экспортировать данные из многих .xls в единую базу в формате DBF (пока не знаю, насколько это возможно).
Пробегаюсь по всем файлам с помощью:
Dim MainDir, FName() As String
MainDir = ActiveWorkbook.Path & "\"
ReDim FName(1)
FName(1) = Dir(MainDir & "*.xls")
k = 2
While (FName(k - 1) <> "")
ReDim Preserve FName(k)
FName(k) = Dir()
k = k + 1
Wend
k = k - 2
If (k > 0) Then
For i = 1 To k
If (UCase(FName(i)) <> UCase(ThisWorkbook.Name)) Then
f_name = MainDir & FName(i)
Workbooks.Open Filename:=MainDir & FName(i)
Windows("Mod.xls").Activate
Range("AF2").Select
Sheets("Head").Select
...
ActiveWorkbook.Save
Application.CutCopyMode = False
ActiveWorkbook.Close SaveChanges:=False
End If
Next i
End If
С этим проблем нет, но никак не могу сохранить в формате DBF с нужными именами...