Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: softvito.narod2.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 13.10.05 06:13
он сохраняет её в DBF как нумерик и нули автоматом удаляет

Ты чем проверял? Дело в том что в 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-сайт: softvito.narod2.ru
 Профиль | | #7
Добавлено: 13.10.05 18:46
Я немного посмотрел.

Вот твой урезанный макрос. Данные приходят как текст(с нуликами).

Private Sub CommandButton1_Click()
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

Если это то что нужно,то с тебя пиво:)

Ответить

Страница: 1 |

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



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