Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Excel → DBF методом SaveAs - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Excel → DBF методом SaveAs (Макросы Sub)
Excel → DBF методом SaveAs
Валерьянка Дата: Вторник, 21.01.2014, 16:27 | Сообщение № 1
Группа: Гости
Схема у меня такая, получаю входящий файл dbf открываю в Excel, там же делаю правку файла и сохраняю обратно в формат (dbf) нужно всего два макроса, один у меня уже есть (на открытие файла dbf в excel)

Помогите пожалуйста в написании макроса, очень нужно сохранять Excel в формат dbf (dBASE III), макрорекордером не получается, т.к. нет такого формата (установлен Office 2010)

Спасибо!
 
Ответить
СообщениеСхема у меня такая, получаю входящий файл dbf открываю в Excel, там же делаю правку файла и сохраняю обратно в формат (dbf) нужно всего два макроса, один у меня уже есть (на открытие файла dbf в excel)

Помогите пожалуйста в написании макроса, очень нужно сохранять Excel в формат dbf (dBASE III), макрорекордером не получается, т.к. нет такого формата (установлен Office 2010)

Спасибо!

Автор - Валерьянка
Дата добавления - 21.01.2014 в 16:27
doober Дата: Вторник, 21.01.2014, 16:49 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
На пальцах конструкция выглядит так
[vba]
Код
Dim oConn As Object  
           Set oConn = CreateObject("ADODB.Connection")
           sCon = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=Путь к папке с файлом dbf;"
      oConn.Open (sCon)
            Dim strSql As String
            for n=1 to Количество_строк
             strSql = "UPDATE ..... SET.......  WHERE...... "    
      oConn.Execute (strSql)
           next
          oConn.Close
       Set  oConn=nothing
[/vba]




Сообщение отредактировал doober - Вторник, 21.01.2014, 16:51
 
Ответить
СообщениеНа пальцах конструкция выглядит так
[vba]
Код
Dim oConn As Object  
           Set oConn = CreateObject("ADODB.Connection")
           sCon = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=Путь к папке с файлом dbf;"
      oConn.Open (sCon)
            Dim strSql As String
            for n=1 to Количество_строк
             strSql = "UPDATE ..... SET.......  WHERE...... "    
      oConn.Execute (strSql)
           next
          oConn.Close
       Set  oConn=nothing
[/vba]

Автор - doober
Дата добавления - 21.01.2014 в 16:49
Валерьянка Дата: Вторник, 21.01.2014, 18:05 | Сообщение № 3
Группа: Гости
doober, спасибо)) А как сделать саб, чтобы файл DBF сохранялся в туже папку из которой был импортирован файл изначально, с переменным именем (ввод имени вручную)

методом ковыряния попытка не принесла желаемого результата, мой макрос не работает:

[vba]
Код
Sub SaveAsDBF()
Dim PathFile As String
Dim NameFile As String
PathFile$ = ThisWorkbook.Path & "\Папка с DBF\": MkDir PathFile$
NameFile = InputBox("Введите имя файла", "Ввод", ActiveWorkbook.Name)
NameFile = NameFile & ".dbf"
ActiveWorkbook.SaveAs Filename:= _
PathFile$ & NameFile, FileFormat:=xlDBF3, CreateBackup:=False
End Sub
[/vba]

Можно ли воплотить эту идею с вашим примером? если можно то как?
Подскажите пожалуйста.

Спасибо большое :)!!!
 
Ответить
Сообщениеdoober, спасибо)) А как сделать саб, чтобы файл DBF сохранялся в туже папку из которой был импортирован файл изначально, с переменным именем (ввод имени вручную)

методом ковыряния попытка не принесла желаемого результата, мой макрос не работает:

[vba]
Код
Sub SaveAsDBF()
Dim PathFile As String
Dim NameFile As String
PathFile$ = ThisWorkbook.Path & "\Папка с DBF\": MkDir PathFile$
NameFile = InputBox("Введите имя файла", "Ввод", ActiveWorkbook.Name)
NameFile = NameFile & ".dbf"
ActiveWorkbook.SaveAs Filename:= _
PathFile$ & NameFile, FileFormat:=xlDBF3, CreateBackup:=False
End Sub
[/vba]

Можно ли воплотить эту идею с вашим примером? если можно то как?
Подскажите пожалуйста.

Спасибо большое :)!!!

Автор - Валерьянка
Дата добавления - 21.01.2014 в 18:05
Gustav Дата: Вторник, 21.01.2014, 18:55 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Валерьянка, наверное, вас расстрою, но с версии 2007 Excel больше не сохраняет в формате DBF. Открывать - открывает (и константы xlDBF... предназначены как раз для метода ActiveWorkbook.Open), а вот сохранить (методом ActiveWorkbook.SaveAs) - не сохраняет :( Именно поэтому форматов DBF нету и в списке выбора типа файла при ручном SaveAs через пользовательский интерфейс.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 21.01.2014, 19:00
 
Ответить
СообщениеВалерьянка, наверное, вас расстрою, но с версии 2007 Excel больше не сохраняет в формате DBF. Открывать - открывает (и константы xlDBF... предназначены как раз для метода ActiveWorkbook.Open), а вот сохранить (методом ActiveWorkbook.SaveAs) - не сохраняет :( Именно поэтому форматов DBF нету и в списке выбора типа файла при ручном SaveAs через пользовательский интерфейс.

Автор - Gustav
Дата добавления - 21.01.2014 в 18:55
Gustav Дата: Вторник, 21.01.2014, 18:59 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
На пальцах конструкция выглядит так

Только сначала надо, наверное, создать саму таблицу, куда потом вставку строк из Excel делать, как-то так по аналогии:
[vba]
Код
Sub mcr()
         Dim oConn  As Object
         Dim sCon   As String
         Dim strSql As String
                  
         Set oConn = CreateObject("ADODB.Connection")
         sCon = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\KuKu\DB;"
         oConn.Open sCon

         strSql = "CREATE TABLE Testtable (N1 Float, N2 Float)"

         oConn.Execute strSql
         oConn.Close
         Set oConn = Nothing
End Sub
[/vba]
P.S. Хотя, если файл уже существует (сорри, не очень внимательно читал), то вроде и не надо его создавать. Ну ладно, пусть как пример будет здесь :)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 21.01.2014, 19:05
 
Ответить
Сообщение
На пальцах конструкция выглядит так

Только сначала надо, наверное, создать саму таблицу, куда потом вставку строк из Excel делать, как-то так по аналогии:
[vba]
Код
Sub mcr()
         Dim oConn  As Object
         Dim sCon   As String
         Dim strSql As String
                  
         Set oConn = CreateObject("ADODB.Connection")
         sCon = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\KuKu\DB;"
         oConn.Open sCon

         strSql = "CREATE TABLE Testtable (N1 Float, N2 Float)"

         oConn.Execute strSql
         oConn.Close
         Set oConn = Nothing
End Sub
[/vba]
P.S. Хотя, если файл уже существует (сорри, не очень внимательно читал), то вроде и не надо его создавать. Ну ладно, пусть как пример будет здесь :)

Автор - Gustav
Дата добавления - 21.01.2014 в 18:59
Валерьянка Дата: Вторник, 21.01.2014, 19:31 | Сообщение № 6
Группа: Гости
Gustav, не работает Ошибка: источник данных не найден не указан драйвер и т.д.
 
Ответить
СообщениеGustav, не работает Ошибка: источник данных не найден не указан драйвер и т.д.

Автор - Валерьянка
Дата добавления - 21.01.2014 в 19:31
Валерьянка Дата: Вторник, 21.01.2014, 20:10 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010

Если быть точнее выходит вот такая ошибка



Что-то нужно было поправить?? %)


Сообщение отредактировал Валерьянка - Вторник, 21.01.2014, 20:15
 
Ответить
Сообщение
Если быть точнее выходит вот такая ошибка



Что-то нужно было поправить?? %)

Автор - Валерьянка
Дата добавления - 21.01.2014 в 20:10
doober Дата: Вторник, 21.01.2014, 21:16 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Скачайте и установите Microsoft Access Database Engine 2010 Redistributable


 
Ответить
СообщениеСкачайте и установите Microsoft Access Database Engine 2010 Redistributable

Автор - doober
Дата добавления - 21.01.2014 в 21:16
Валерьянка Дата: Вторник, 21.01.2014, 22:04 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, у меня установлен сейчас на ноутбуке 2010, на рабочем компе вроде бы тоже есть 2007 и 2010, в Access я вообще ничего не рублю:(
:(
 
Ответить
Сообщениеdoober, у меня установлен сейчас на ноутбуке 2010, на рабочем компе вроде бы тоже есть 2007 и 2010, в Access я вообще ничего не рублю:(
:(

Автор - Валерьянка
Дата добавления - 21.01.2014 в 22:04
doober Дата: Вторник, 21.01.2014, 22:29 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Как вариант,через тимвивер возможно помогу




Сообщение отредактировал doober - Вторник, 21.01.2014, 22:30
 
Ответить
СообщениеКак вариант,через тимвивер возможно помогу

Автор - doober
Дата добавления - 21.01.2014 в 22:29
Валерьянка Дата: Вторник, 21.01.2014, 23:36 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
doober, на рабочем компе точно не получится через тимвивер , а вот на ноутбуке можно попробовать
 
Ответить
Сообщениеdoober, на рабочем компе точно не получится через тимвивер , а вот на ноутбуке можно попробовать

Автор - Валерьянка
Дата добавления - 21.01.2014 в 23:36
Валерьянка Дата: Четверг, 23.01.2014, 10:36 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
ВОПРОС ВСЁ ЕЩЁ ОЧЕНЬ АКТУАЛЕН!!!!

ПОЖАЛУЙСТА ПОМОГИТЕ!!!!

Может быть есть у кого-нибудь готовый макрос или кто-нибудь знает как его можно написать?!
 
Ответить
СообщениеВОПРОС ВСЁ ЕЩЁ ОЧЕНЬ АКТУАЛЕН!!!!

ПОЖАЛУЙСТА ПОМОГИТЕ!!!!

Может быть есть у кого-нибудь готовый макрос или кто-нибудь знает как его можно написать?!

Автор - Валерьянка
Дата добавления - 23.01.2014 в 10:36
Wasilich Дата: Четверг, 23.01.2014, 11:18 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Цитата Валерьянка, 21.01.2014 в 16:27, в сообщении № 1
dbf открываю в Excel, там же делаю правку файла и сохраняю обратно в формат (dbf)
А почему, для этого не использовать DOS-утилиту для обработки DBF файлов?
 
Ответить
Сообщение
Цитата Валерьянка, 21.01.2014 в 16:27, в сообщении № 1
dbf открываю в Excel, там же делаю правку файла и сохраняю обратно в формат (dbf)
А почему, для этого не использовать DOS-утилиту для обработки DBF файлов?

Автор - Wasilich
Дата добавления - 23.01.2014 в 11:18
nilem Дата: Четверг, 23.01.2014, 12:01 | Сообщение № 14
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Валерьянка,
а можете показать какой-нибудь файлик dbf для примера?
и какие правки вы там делаете?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеВалерьянка,
а можете показать какой-нибудь файлик dbf для примера?
и какие правки вы там делаете?

Автор - nilem
Дата добавления - 23.01.2014 в 12:01
SkyPro Дата: Четверг, 23.01.2014, 12:25 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Установите драйвер такой же разрядности как и офис. Т.е. если у вас система х32, а офис х64, то и драйвер должен быть х64.
К меня подобная проблема была с mysql драйвером, пока допер в чем суть.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 23.01.2014, 12:25
 
Ответить
СообщениеУстановите драйвер такой же разрядности как и офис. Т.е. если у вас система х32, а офис х64, то и драйвер должен быть х64.
К меня подобная проблема была с mysql драйвером, пока допер в чем суть.

Автор - SkyPro
Дата добавления - 23.01.2014 в 12:25
Валерьянка Дата: Четверг, 23.01.2014, 14:58 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
а можете показать какой-нибудь файлик dbf для примера?
и какие правки вы там делаете?

Править нужно только примечание в столбце G


Сообщение отредактировал Валерьянка - Пятница, 24.01.2014, 10:54
 
Ответить
Сообщение
а можете показать какой-нибудь файлик dbf для примера?
и какие правки вы там делаете?

Править нужно только примечание в столбце G

Автор - Валерьянка
Дата добавления - 23.01.2014 в 14:58
AndreTM Дата: Четверг, 23.01.2014, 15:16 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Ого... А нафик вам такой DBF? Он же у вас изначально был, видимо, в формате Excel, зачем вам вообще в DBF его преобразовывать?
Никакому разработчику ПО, работающиму с DBF - не придёт в голову такой формат данных в таблице :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеОго... А нафик вам такой DBF? Он же у вас изначально был, видимо, в формате Excel, зачем вам вообще в DBF его преобразовывать?
Никакому разработчику ПО, работающиму с DBF - не придёт в голову такой формат данных в таблице :)

Автор - AndreTM
Дата добавления - 23.01.2014 в 15:16
nilem Дата: Четверг, 23.01.2014, 17:42 | Сообщение № 18
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Оказалось, что Аксесс вполне спокойно открывает DBF и сохраняет изменения (правда, при сохранении создает копию базы в своем формате). Может, Ексель и не нужен?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеОказалось, что Аксесс вполне спокойно открывает DBF и сохраняет изменения (правда, при сохранении создает копию базы в своем формате). Может, Ексель и не нужен?

Автор - nilem
Дата добавления - 23.01.2014 в 17:42
doober Дата: Четверг, 23.01.2014, 19:49 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Цитата Валерьянка, 21.01.2014 в 22:04, в сообщении № 9
в Access я вообще ничего не рублю

Читаем первоисточник.
Работаю с одним из филиалов этой конторы.в шоу участвуют много dbf и обновляются с других.
Сами файлы меня сильно удивили.
Потом уже привык к ним.
Волшебное слово в примечаниях-это зачислено.
К сообщению приложен файл: 5272896.jpg (11.4 Kb)


 
Ответить
Сообщение
Цитата Валерьянка, 21.01.2014 в 22:04, в сообщении № 9
в Access я вообще ничего не рублю

Читаем первоисточник.
Работаю с одним из филиалов этой конторы.в шоу участвуют много dbf и обновляются с других.
Сами файлы меня сильно удивили.
Потом уже привык к ним.
Волшебное слово в примечаниях-это зачислено.

Автор - doober
Дата добавления - 23.01.2014 в 19:49
Валерьянка Дата: Пятница, 24.01.2014, 13:54 | Сообщение № 20
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 2 ±
Замечаний: 0% ±

Excel 2010
Получилось разобраться в Аксессе Импорт-Экспорт все даже очень понятно, но хотелось бы как-нибудь оптимизировать этот процесс
 
Ответить
СообщениеПолучилось разобраться в Аксессе Импорт-Экспорт все даже очень понятно, но хотелось бы как-нибудь оптимизировать этот процесс

Автор - Валерьянка
Дата добавления - 24.01.2014 в 13:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Excel → DBF методом SaveAs (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!