WallaceWilliam / VBA-macros-XLS-To-DBF

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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