Страница: 1 |
Страница: 1 |
Вопрос: Export XLS to DBF подскажите
Добавлено: 12.10.05 12:26
Автор вопроса: AlexUstes
Привет народ
Необходимо сделать экспорт из кники Excel в DBF IV.
Записал простой макрос, но есть проблема ... форматы в DBF не такие какие бы хотелось видеть... Excel их преобразует по первому символу в столбце видит цифру делает numeric и т.д.
Подскажите как мне решить эту проблему.
Необходимо както указывать в каком формате будут столбца в DBF
Макрос просто копирует из рабочей книги в новую данные и сохраняет её как DBF IV
Макрос:
Sub DBF_gaap()
Application.DisplayAlerts = False
P$ = ActiveWorkbook.Path
b$ = ActiveWorkbook.Name
s$ = "GAAP по счету"
Sheets(s$).Select
Columns("A:B").Select
Selection.Copy
Workbooks.Add
b1$ = ActiveWorkbook.Name
s1$ = ActiveSheet.Name
ActiveSheet.Paste
Columns("A:B").Select
Selection.NumberFormat = "@"
Windows(b$).Activate
Sheets(s$).Select
Columns("E:O").Select
Selection.Copy
Windows(b1$).Activate
Sheets(s1$).Select
Columns("c").Select
ActiveSheet.Paste
Columns("c:l").Select
Selection.NumberFormat = "0.00"
Columns("m").Select
Selection.NumberFormat = "@"
Range("A2").Select
ActiveWorkbook.SaveAs Filename:=P$ + "\GaaP.DBF", FileFormat:=xlDBF4, _
CreateBackup:=False
ActiveWindow.Close
End Sub
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #1
Добавлено: 12.10.05 17:21
Это тебе для 1С нужно?
Номер ответа: 2
Автор ответа:
AlexUstes
Вопросов: 2
Ответов: 4
Профиль | | #2
Добавлено: 13.10.05 03:56
Нет я работаю с парусом ... парус на оракле из оракла выгружаю в Excel ,а из Excel в DBF, так сказать не доконца ещё избавились от досовского наследия поэтому приходится так извращаться
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 13.10.05 05:22
В крайнем случае можно изменить тип поля в самой DBF-ке.
Номер ответа: 4
Автор ответа:
AlexUstes
Вопросов: 2
Ответов: 4
Профиль | | #4
Добавлено: 13.10.05 05:32
Не вариант так как если к примеру в Excel строка типа
02545 - (табельный номер) он сохраняет её в DBF как нумерик
и нули автоматом удаляет , получяется не только формат нужно в DBF править но и нули дописывать.
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 13.10.05 06:13
Ты чем проверял? Дело в том что в DBF-ке всё хранится как строка. Посмотри в каком нибудь hex-вьювере. Мож и не удаляет.
Номер ответа: 6
Автор ответа:
AlexUstes
Вопросов: 2
Ответов: 4
Профиль | | #6
Добавлено: 13.10.05 06:45
Смотрел данные в DBF уже без нулей приходят на стадии
ActiveWorkbook.SaveAs Filename:=FileName,FileFormat:=xlDBF4,...
Их Excel форматирует и в DBF передает уже как numeric не смотря на то что в листе Excel тип данных поля текстовый.
Номер ответа: 7
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #7
Добавлено: 13.10.05 18:46
Я немного посмотрел.
Вот твой урезанный макрос. Данные приходят как текст(с нуликами).
Application.DisplayAlerts = False
P$ = ActiveWorkbook.Path
b$ = ActiveWorkbook.Name
s$ = "GAAP ïî ñ÷åòó"
Sheets(s$).Select
Columns("E".Select
Selection.Copy
Workbooks.Add
b1$ = ActiveWorkbook.Name
s1$ = ActiveSheet.Name
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=P$ + "\GaaP.DBF", FileFormat:=xlDBF4, _
CreateBackup:=False
ActiveWindow.Close
End Sub
Если это то что нужно,то с тебя пиво