Skip to content

WallaceWilliam/VBA-macros-XLS-To-DBF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

VBA macros XLS To DBF

по мотивам https://www.sql.ru/forum/589512-1/excel-dbf

разработчик Basile

Fork содержит возможность перекодировки

Подключение надстройки XlsToDBF.

В EXCEL 2007 (а также EXCEL 2016)

  1. Кнопка "Office"
  2. Кнопка "Параметры Excel"
  3. Слева, "Надстройки"
  4. Внизу "Управление: Надстройки Excel", кнопка "Перейти"
  5. В окне "Надстройки": кнопка "Обзор..."
  6. Найти сохранённый ранее файл XlsToDBF.xla и нажать "OK"
  7. В окне "Надстройки" в списке доступных надстроек должна появиться строка "XLS -> DBF" с установленным флажком проверки, нажать "OK"

Запуск макроса для сохранения данных в DBF-формате

  1. Выделить ячейку относящуюся к экспортируемой областии (формат области должен отвечать некоторым требованиям, см. ниже "Формат экспортируемой области")
  2. Вызвать диалог "Макрос" (ALT-F8)
  3. В поле "Имя макроса:" ввести XlsToDBF и нажать "Выполнить"
  4. Файл сохранится в той же папке, где расположена открытая книга под именем, заданным в первой ячейки экспортируемой области. Если книга только создана и ещё не сохранялась, DBF-файл сохраниться в папку по умолчанию (скорее всего, в "Мои документы"). Для полной уверенности, перед экспортом имеет смысл сохранить книгу.

Формат экспортируемой области

Программа не в ключает в себя ни каких диалогов настройки экспорта. Поэтому всю информацию необходимо сообщить непосредственно в заголовке области экспорта.

  1. Первая ячейка первой строки области содержит имя выходного DBF-файла (например, TEST.DBF), кодировку DBF (напрмер Windows-1251), кодировку EXCEL (опционатьно, напрмер cp866)
  2. Вторая и третья строки содержат описания и названия полей соответственно
  3. Начиная с 4-ой строки и до конца области располагаются данные

Каждое поле ОБЯЗАТЕЛЬНО должно быть описано. Описания полей соответствуют стандарту FoxPro: Cnnn - строковый тип (например, C100) Nnn или Nnn.n - числовой тип (например, N10 или N10.2) D - тип даты L - логический тип

Пример: Колонка 1: Колонка 2: Колонка 3:

Строка 1: Test.dbf Windows-1251 cp866 Строка 2: N10 С20 N8.3 Строка 3: ID Name Netto Строка 4: 10000 Огурцы 256.5 Строка 5: 20000 Помидоры 113

Логический тип (L) может быть задан, например 0 - False, 1 - True, пустое поле трактуется, как False. Также в русской версии EXCEL можно использовать "ИСТИНА" и "ЛОЖЬ".

В файле SIMPLE.XLS содержится таблица, отвечающая требованиям.

ВНИМАНИЕ! Макрос XlsToDBF не выполняет, практически, ни каких проверок на ошибки со стороны пользователя.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published