Новий тренінг про VBA для Excel і проблеми з DBF-файлами

Доброго вечора, друзі мої!

Перш за все, я прошу вибачити мені за те, що я цілий тиждень (ви можете в це повірити?) не писав нічого нового. Однак, в мене є поважна на те причина – я завзято працював над новим тренінгом з VBA-програмування для  Microsoft Excel 2007/2010, а потім проводив його у місті Ужгороді, яке мені, до речі, дуже сподобалось.

image

Незабаром ви зможете завантажити презентації тренінгу з slideshare.net, а поки що я хотів би розповісти вам про одне цікаве запитання, яке я отримав в ході тренінгу. Мова піде про те, як зберегти таблицю Microsoft Excel у вигляді DBF-файлу.

Тож, почнемо.

Раніше ми могли зберігати дані у форматі DBF засобами самого Excel, однак, починаючи з версії 2007, Microsoft видалила з програми цю можливість. Логіка виробника тут цілком зрозуміла. DBF – формат застарілий, і потрібен він лише тим людям, хто змушений працювати з успадкованими системами, які інших форматів просто не розуміють. Однак, а що ж робити, якщо ви є одним з цих “щасливчиків”, і вам справді треба це роботи?

Найпростіший спосіб, який я бачу – імпортувати дані з Excel до Access, і експортувати у формат DBF. Спочатку створюємо нову пусту БД. А імпорт в неї робиться просто – на вкладинці External Dataу групі Import & Link обираємо кнопку Excel. Ну а далі – не важливо, чи імпортуєте ви дані, чи просто зробите посилання на зовнішню таблицю (все це робиться за допомогою майстра, у стилі “Next, Next, Finish”) – робите правий клік на таблиці і обираєте Export > sBase File:

blog21

Інший шлях – тримати на машині одночасно Office 2007/2010 і Office 2003 (або OpenOffice), і відкривати ті файли, які слід зберегти у DBF у старій версії Excel (або OpenOffice Calc). В Excel 2003 ви зможете зберегти файл у потрібному вам форматі штатними засобами. Саме так дає раду цій проблемі одна з моїх студенток, якій доводиться регулярно відправляти дані до банку у вигляді DBF-файлу.

Третій спосіб – написати свою власну процедуру на VBA для експорту в DBF. Для цього ви можете використати метод SaveAs об’єкту ActiveWorkbook (див довідку з VBA у Microsoft Excel). Сам я це робити не пробував, однак, вважаю, все повинне працювати. До речі, ось тут vj;yf завантажити ActiveX Dll з класом, який можна використати для роботи з DBF e VBA.

Четвертий спосіб – завантажити безкоштовне доповнення до Excel під назвою SaveDBF. Демо-версія зберігає тільки 30 записів, однак, ви можете написати листа автору і попросити вислати вам повну версію програми.

І, нарнешті, п’ятий спосіб – використати XLS (Excel) to DBF Converter від White Town. Ця програма не є безкоштовною, однак коштує дуже недорого (близько $30), ви можете завантажити пробну версію, а потім, якщо сподобається, придюати ліцензію.

image

Ось такі я бачу способи розв’язати цю проблему. Можливл, хтось зможе додати ще щось?

VN:F [1.7.2_963]
Рейтинг запису
Rating: 4.0/5 (4 votes cast)

Ви можете відслідковувати коментарі до цього запису за допомогою RSS 2.0. Ви можете лишити коментар, або використати трекбек з Вашого сайту.

Лишити коментар

XHTML: Ви можете використати наступні HTML-теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>