Как с помощью VBA работать с dbf-файлами?
Можно советом, а можно материалом по этой теме.
Спасибо.
Отккрываем нужный файл из Ёксельной книги(путь и имя файла нужные поставь)
ChDir "C:\KorsSoft\Litik.17\BAZA"
Workbooks.Open Filename:="C:\KorsSoft\Litik.17\BAZA\TOVAR.DBF"
Загоняем теперь все в буфер
Cells.Copy
Активируем Ёксель
Windows(Name).Activate
Range("A1").Select
и переносим в него все из буфера
ActiveSheet.Paste
Закрываем файл
Windows("TOVAR.DBF").Close
и работаем с данными уже в Ёкселе.
Это конечно если нужна обработка базы данных без ее изменения в самом файле DBF.
А для чего мы объявляем путь
ChDir "C:\KorsSoft\Litik.17\BAZA"
если он нигде не используется, а используется строка
Workbooks.Open Filename:="C:\KorsSoft\Litik.17\BAZA\TOVAR.DBF" ????
Команда Cells.Copy копирует всё содержимое файла в буфер? Я правильно понял?
И ещё, в команде Windows(Name).Activate что писать вместо Name ???
Спасибо.
2) Ещё хотелось бы узнать как можно работать с dbf-файлами, не открывая их в Excele, как было предложено Штурманом?
1) Подскажите пожалуйста, с помощью какой команды можно скопировать файл из одной папки в другую и как грамотно искать в нужной папке файлы с определенными именами?
Это тебе нужно - FSO. Чтобы попасть в справке по Visual Basic на FSO нужно набрать в строке поиска - "file" и выбрать раздел - "Size Property (FileSystemObject object)", дальше используя Applies To попадешь на объекты File, Folder - используя их методы и свойства сможешь сделать все что тебе нужно.
2) Ещё хотелось бы узнать как можно работать с dbf-файлами, не открывая их в Excele, как было предложено Штурманом? [/QUOTE]
Насчет dbf, тут я небольшой спец, особо с ним не работал, но по сути это всего лишь один из форматов хранения базы данных, потому:
- надо или использовать какие-то готовые компоненты, которые возьмут на себя работу с dbf, - либо подключаться через ODBC
- ну и проще всего конечно через DAO. если объем файла не превышает 200мб., то советуют использовать DAO, а не ODBC, потому как проще и надежнее.