powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel->DBF
100 сообщений из 100, показаны все 4 страниц
Excel->DBF
    #35506450
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю макрос, экспортирующий EXCEL-данные в формат DBF. Для того чтобы он работал, экспортируемая область таблицы должна быть отформатирована соответствующим образом (см. README.TXT в архиве).

Макрос находится в файле XlsToDBF.xla. Это надстройка для EXCEL, инструкции по подключению и работе в файле README.TXT

Так же в архиве есть EXCEL-файл для примера SIMPLE.XLS

Недостатки программы:
1. Пока ещё "сыро": нет проверок на ошибки, вся ответственность лежит на пользователе.
2. Так и не смог забороть CP866, выходной DBF-файл создаётся в CP1251.

Тема была начата здесь
...
Рейтинг: 0 / 0
Excel->DBF
    #35511878
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все таки я считаю, а также как рекомендовал White Owl,
самый реальный вариант - экспорт-импорт через CSV. Ибо
его недостатки с лихвой покрываются несоменными достоинствами :)

Между прочим, один из вопросов - работа с Memo-полями, и не только
из-за разных форматов (dBase может пользоваться не только Фоксом,
но и Клиппером, например), но и некоторых особенностей самого Фокса
в рантайме, например, значения SET MEMOWIDTH, а также индексации.

Вообще, прямое преобразование форматов - не лучшая идея, поскольку
вообще СУБД предполагают работу с данными "с их стороны" через SQL,
а никак не "насильственное вливание" данных в базу. Ведь созданный
Вашим методом файл все равно придется импортировать, скажем,
в тот же Фокс его средствами, так зачем же лишние проблемы?
...
Рейтинг: 0 / 0
Excel->DBF
    #35523944
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMМежду прочим, один из вопросов - работа с Memo-полями, и не только
из-за разных форматов (dBase может пользоваться не только Фоксом,
но и Клиппером, например), но и некоторых особенностей самого Фокса
в рантайме, например, значения SET MEMOWIDTH, а также индексации.


На самом деле, речь идёт об EXCEL 2007. С этой версии MS отказался от поддержки экспорта в формат dBase (2003-ий умел, 2007-ой не умеет). Когда я столкнулся с этой проблемой, мне стало грустно, т.к. в фирме часто приходилось проделывать эту операцию. Что касается Memo-полей и индексных файлов, то 2003-ий тоже не умел работать с ними. Меня это устраивало, поскольку экспортируемые данные этого не требовали, а индексировал я всё вручную (в среде FoxPro). Единственным недостатком экспорта предыдущих версий EXCEL я считаю то, что размер полям присваивался по усмотрению EXCEL и имя выходног DBF-файла совпадало с именем исходного файла (это не всегда удобно). В своей реализации я эти проблемы решил (может быть кривовато).

Короче говоря, эта надстройка создавалась для тех, кто пользовался экспортом в dBase из EXCEL (в первую очередь для меня:), а руководство закупило OFFICE 2007. Макрос создаёт DBF-файл в точности, как это делал EXCEL 2003, только соблюдает размер полей определённый пользователем в исходной таблице. Возможно, это мало кому интересно, но разговоры здесь об этом были.
...
Рейтинг: 0 / 0
Excel->DBF
    #35526051
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда можно, в принципе, еще сделать экспорт "по данным" фокса,
т.е. не перечислять поля-типы, а брать за образец DBF-файл
(указанный в какой-нить ячейке), парсить его структуру и
экспортировать в файл с такой структурой.
...
Рейтинг: 0 / 0
Excel->DBF
    #35526244
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMТогда можно, в принципе, еще сделать экспорт "по данным" фокса,
т.е. не перечислять поля-типы, а брать за образец DBF-файл
(указанный в какой-нить ячейке), парсить его структуру и
экспортировать в файл с такой структурой.
Теоретически (да и практически) это сделать можно, просто у меня не было такой потребности... У меня отдел маркетинга обрабатывает товарную базу в EXCEL, а торгово-складская программа написана на FoxPro 2.5. Периодически приходится обновлять некоторые характеристики товаров, исходя из данных отдела маркетинга (чаще всего цены:). Поэтому я EXCEL-таблицу с новыми данными экспортирую в dBase, связываю (RELATION) с текущей базой и обновляю (REPLACE) некоторые поля.
...
Рейтинг: 0 / 0
Excel->DBF
    #35553800
Scad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BasileВыкладываю макрос, экспортирующий EXCEL-данные в формат DBF. Для того чтобы он работал, экспортируемая область таблицы должна быть отформатирована соответствующим образом (см. README.TXT в архиве).

Макрос находится в файле XlsToDBF.xla. Это надстройка для EXCEL, инструкции по подключению и работе в файле README.TXT

Так же в архиве есть EXCEL-файл для примера SIMPLE.XLS

Недостатки программы:
1. Пока ещё "сыро": нет проверок на ошибки, вся ответственность лежит на пользователе.
2. Так и не смог забороть CP866, выходной DBF-файл создаётся в CP1251.

Тема была начата здесь

В прикрепленном файле находится не XlsToDBF.xla, а Likchel.xla соответственно запустить выгрузку по инструкции у меня не получилось... :-(
...
Рейтинг: 0 / 0
Excel->DBF
    #35587883
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScadВ прикрепленном файле находится не XlsToDBF.xla, а Likchel.xla соответственно запустить выгрузку по инструкции у меня не получилось... :-(
Прошу прощения за свою невнимательность. В выложенном архиве действительно не та надстройка...

Вот правильный архив.
...
Рейтинг: 0 / 0
Excel->DBF
    #36143671
Bakin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтоб не скачивать 300-метровый Office 2003, воспользовался конвертером. Но вот какая история, после конвертации в dbf-файле находятся кракозяблы вида:

Код: plaintext
1.
2.
Y·aI#·oA o#I#·YaA#
ySO·oA oI#AsY#  10 * 10 
SO#·aIUUO—A dS# AAUoI#AO·A

и т.д.
Причем DBD пишет, что языковый драйвер БД 'ascii' ANSI, а DBTour после открытия этой же таблицы пишет, что языковый драйвер SQL Link ROMAN8. В чем проблема?
...
Рейтинг: 0 / 0
Excel->DBF
    #36150767
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BakinЧтоб не скачивать 300-метровый Office 2003, воспользовался конвертером. Но вот какая история, после конвертации в dbf-файле находятся кракозяблы вида:

Код: plaintext
1.
2.
Y·aI#·oA o#I#·YaA#
ySO·oA oI#AsY#  10 * 10 
SO#·aIUUO—A dS# AAUoI#AO·A

и т.д.
Причем DBD пишет, что языковый драйвер БД 'ascii' ANSI, а DBTour после открытия этой же таблицы пишет, что языковый драйвер SQL Link ROMAN8. В чем проблема?

Трудно сказать, почему так получается... Возможно, это связано с кодовой страницей. Выходной файл конвертер может сохранять только в CP 1251. Я использую полученные файлы только в среде FoxPro 2.5 для Windows и в VS .NET с загруженным драйвером VFP9 OleDb Provider. Если не сложно пришли свой подготовленный исходный XLS файл, который ты пытаешься конвертировать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel->DBF
    #37147375
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile,

Добрый вечер.
Подходит ли Ваш способ для конвертации большой таблицы Excel 2007 в файл dbf FoxPro?
Спасибо.
...
Рейтинг: 0 / 0
Excel->DBF
    #37148025
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как указывалось, не обязательно использовать предложенный вариант.

Дайте кусочек вашего xlsx для примера, а также скажите, в какую версию Фокса вам нужен перенос.
Посмотрим, что можно сделать...
...
Рейтинг: 0 / 0
Excel->DBF
    #37148059
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,
Сегодня выложу,просто на данный момент нет "под рукой" общего типа таблицы и данных.
Буду рад вашей помощи.
...
Рейтинг: 0 / 0
Excel->DBF
    #37148060
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

FoxPro 5.0
...
Рейтинг: 0 / 0
Excel->DBF
    #37149145
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обсуждение там 10326017
...
Рейтинг: 0 / 0
Excel->DBF
    #37152240
tor_shift
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile,

Спасибо Вам за ваш метод(макрос).
Пригодился.
...
Рейтинг: 0 / 0
Excel->DBF
    #37156590
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tor_shiftBasile,

Спасибо Вам за ваш метод(макрос).
Пригодился.
Искренне рад, что надстройка до сих пор востребована и помогает кому-то!
...
Рейтинг: 0 / 0
Excel->DBF
    #37270955
plat75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile,

Скажите а для 2010 офиса возможно настройку сделать? эта не работает
...
Рейтинг: 0 / 0
Excel->DBF
    #37279813
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
plat75Скажите а для 2010 офиса возможно настройку сделать? эта не работает
У меня и в 2010 работает. А в чём проблема?
...
Рейтинг: 0 / 0
Excel->DBF
    #37283044
Orale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как оно годится для долбанного foxpro?
...
Рейтинг: 0 / 0
Excel->DBF
    #37283452
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oraleкак оно годится для долбанного foxpro?
Годится! :) Макрос создаёт файл в формате dBASE, как это умел делать EXCEL 2003...
...
Рейтинг: 0 / 0
Excel->DBF
    #37351400
galchenko.a.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ваш труд. Очень помог мне. Мне даже удобней работать чем с 2003 офисом.
...
Рейтинг: 0 / 0
Excel->DBF
    #37369625
Gnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер. Промучался много часов, ничего не получается. Я в этом деле новичёк, не судите строго.
Помогите перевести таблицу в dbf. Я плохо понимаю чтотакое описание строки. Кусок таблицы приложил.
Большое спасибо.
...
Рейтинг: 0 / 0
Excel->DBF
    #37369626
Gnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл таблицу - выкладываю.
...
Рейтинг: 0 / 0
Excel->DBF
    #37369728
Сойдет?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Формат Visual Foxpro 9.
...
Рейтинг: 0 / 0
Excel->DBF
    #37369805
Gnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо, Вам, за труд. Только вот это кусочек маленький от всей таблицы, я видимо не сформулировал свой вопрос как надо. Мне нужна помощь в том, что бы разобраться как сделать самому, данную операцию. Что для этого необходимо, порядок действий, набор программ ?
И мне совсем не понятно какие значения ставить в оописание столбцов. Если возможно, опишите процесс, да и формат нужен dbf 4
Благодарю Вас за помощь.
...
Рейтинг: 0 / 0
Excel->DBF
    #37369820
Сойдет?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше создавайте файл в формате Excel 2003. Его затем можно сохранить как dbf 4 из самого Excel.

P.S. Так, как я делал, у вас все равно не получится.
...
Рейтинг: 0 / 0
Excel->DBF
    #37370181
Gnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Для этого я так понимаю нужен 2003 Exel. А процедуру описать не могли бы, примерно. Или подсказать где почитать.
Благодарю Вас за помощь.
...
Рейтинг: 0 / 0
Excel->DBF
    #37388174
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GnumСпасибо. Для этого я так понимаю нужен 2003 Exel. А процедуру описать не могли бы, примерно. Или подсказать где почитать.
Благодарю Вас за помощь.
Если Вы хотите делать экспорт в DBF (формат dBASE IV) из EXCEL 2007, используя именно мою надстройку, то во-первых, Вам нужно её установить в EXCEL, во-вторых, подготовить исходную таблицу для надстройки (чтобы не было неоднозначностей) и в-третьих, необходимо разобраться с описанием форматов полей принятых в FoxPro. В принципе, в моём файле Readme.txt из архива всё описано.
Просмотрев Ваш пример, сразу заметил, что в столбце НДС имеются и числовые данные, и текстовые (прочерки). Должны быть все числовые, т.е. прочерки нужно заменить на нули.
В приложенном файле я подготовил Вашу таблицу к выгрузке. В таком виде надстройка её правильно экспортирует в DBF. Обратите внимание на изменения.
И, я так понимаю, у Вас проблема с описанием полей для FoxPro. Если так, то пишите мне на e-mail, попробую помочь разобраться.
Удачи!
...
Рейтинг: 0 / 0
Excel->DBF
    #37388180
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, чуть не забыл, если будете писать мне на e-mail, то обязательно вставляйте в тему письма пять "волшебных" букв SQLRU . Почты валится много, боюсь пропустить.

И ещё. Взаимный респект всем поблагодарившим и успешно использующим мой макрос. Очень приятно, что заценили!
...
Рейтинг: 0 / 0
Excel->DBF
    #37439168
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Я немного доработал надстройку XlsToDBF . Теперь макрос надстройки проверяет несоответствие типов. К, примеру, если в колонке с типом Numeric встретится ячейка со строковым значеним, она будет проигнорирована. При этом в итоговом DBF-файле это поле будет иметь значение по умолчанию, т.е. ноль. То же самое касается полей типа Date (по умолчанию пустая дата " . . ") и Logical (по умолчанию FALSE). С полями типа Caracter все просто: то, что есть в исходной таблице, в конце концов будет иметь строковый тип. Новую версию XlsToDBF и полное детальное описание с примером смотрите здесь .
...
Рейтинг: 0 / 0
Excel->DBF
    #37626760
absofron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задумка супер! Молодец! Как насчёт DOS (866) кодировки?
...
Рейтинг: 0 / 0
Excel->DBF
    #37639153
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
absofronЗадумка супер! Молодец! Как насчёт DOS (866) кодировки?
Спасибо! Почти доделал. Скоро выложу...
...
Рейтинг: 0 / 0
Excel->DBF
    #37657114
omorozov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, пригодилось
...
Рейтинг: 0 / 0
Excel->DBF
    #37714169
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю надстройку XlsToDBF (версия 1.01).
Теперь появилась возможность сохранять DBF-файлы в кодировке DOS-866 .
Архив и подробную инструкцию можно найти здесь .
Буду рад вашим замечаниям, пишите.
...
Рейтинг: 0 / 0
Excel->DBF
    #37737878
fout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

А умеет ли XlsToDBF сохранять в dBASE III ?? Интересует сохранение dbf именно в этом формате.
...
Рейтинг: 0 / 0
Excel->DBF
    #37739382
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dBase III с какой точки зрения нужен именно? Вернее, так - для использования в какой оболочке именно?
...
Рейтинг: 0 / 0
Excel->DBF
    #37954452
sss124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile,

Приветствую.

Работает ваш макрос, все прекрасно (на ПК). Но вот на mac вроде бы тоже работает, но в итоге текстовые русские поля получаются странные. То есть вроде и кодировка правильная (1251), но вот вместо вместо больших букв и некоторых других символов кракозябры. Как можно решить эту проблему?

Сергей.
...
Рейтинг: 0 / 0
Excel->DBF
    #37959925
New456
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
absofron, я решаю проблему преобразования очень просто: через Open Office - он принимает xls -файлы и может выдавать их в dbf (как это делал Excel 2003)
...
Рейтинг: 0 / 0
Excel->DBF
    #37967240
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sss124Работает ваш макрос, все прекрасно (на ПК). Но вот на mac вроде бы тоже работает, но в итоге текстовые русские поля получаются странные. То есть вроде и кодировка правильная (1251), но вот вместо вместо больших букв и некоторых других символов кракозябры. Как можно решить эту проблему?
Сергей.
На MAC'е протестировать макрос у меня в данный момент нет возможности. Если не сложно, пришлите DBF-файл, который выглядит некорректно.
В какой программе Вы открываете выходной DBF-файл?
...
Рейтинг: 0 / 0
Excel->DBF
    #37967271
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
New456я решаю проблему преобразования очень просто: через Open Office - он принимает xls -файлы и может выдавать их в dbf (как это делал Excel 2003)
Тоже вариант. Тем более, что Open Office -- бесплатный софт... Однако, я так уже привык, что макрос позволяет задать имя DBF-файла и форматировать поля, как мне захочется, что наверное, в 2003 я бы использовал XlsToDBF . И ещё, не всегда бывает возможность убедить администратора устанавливать дополнительный софт, пусть даже бесплатный. Последнее может и не существенно, но для многих актуально!
...
Рейтинг: 0 / 0
Excel->DBF
    #37970226
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного доработал надстройку (исправил некоторые недочеты).

В новой версии:
Снято ограничене на количество записей в таблице (раньше 65 535 было максимумом).

Символы перевода строки (ALT+ENTER в ячейке EXCEL) преобразуются в пробелы.

Разные мелочи, незаметные для пользователя...

Подробнее ознакомится с ндастройкой и скачать XlsToDBF 1.02 можно скачать у меня http://basile-m.narod.ru/] на сайте . А всем кто её использует настоятельно рекомендую обновиться.
Большое спасибо всем, кто сообщает мне об ошибках, очень помогаете!
...
Рейтинг: 0 / 0
Excel->DBF
    #37970471
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basile, поздравляю, что на горизонте? например таблицу Ворда в хтмл, сможете? видел многих интерисует
...
Рейтинг: 0 / 0
Excel->DBF
    #37970649
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофаBasile, поздравляю, что на горизонте? например таблицу Ворда в хтмл, сможете? видел многих интерисует
Катастрофа, во-первых, вопрос не по теме: здесь обсуждается вопрос конвертации таблиц EXCEL в формат dBASE, а во-вторых WORD умеет сохранять свои документы в HTML-формате, я бы посоветовал думать в этом направлении.

И огромная просьба: не продолжать здесь обсуждение WORD, HTML и других вопросов не относящихся к моей теме. В конце концов, создайте свою ветку в форуме. А если хотите пообщаться именно со мной, пишите на e-mail лично: malinine@tochka.ru
...
Рейтинг: 0 / 0
Excel->DBF
    #38006519
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!

Ещё одно важное исправление в надстройке XlsToDBF .
Теперь корректно переводится символ номера '№' для DOS-866 кодировки. Раньше переводился в символ псевдографики.

Подробнее ознакомится с ндастройкой и скачать XlsToDBF 1.03 можно у меня на http://basile-m.narod.ru/] сайте . Всем, кто использует надстройку, настоятельно рекомендую обновиться.
Ещё раз спасибо, что сообщаете об ошибках!
...
Рейтинг: 0 / 0
Excel->DBF
    #38025154
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Basile. Неделю мучался с конвертацией из xls в dbf (от программирования я далёк). К слову, заметил, что на разных машинах Excel 2003 SP3 по разному конвертирует один и тот же исходный файл (сейчас не могу, к сожалению, сказать, какие версии стоят на тех машинах): "теряет" строки, при чём на разных компах по разному, меняет кодировку и уже никакие способы и редакторы, описанные на просторах Сети, не помогают.
Нашёл Вашу надстройку, поставил на Excel 2010. Наконец-то конвертируются все данные!
НО!
1. Запись "CP866" (естественно - латиницей) в ячейке B1 никак не "указывает" надстройке сохранять файл в кодировке DOS-866. В любом случае кодировка AHSI с кракозябрами (((
2. Если в ячейке A1 в названии файла не укажу расширение, то и создастся он неизвестным файлом, вопреки Вашему утверждению в "Руководстве пользователя".
Помогите с итоговой кодировкой, пожалуйста!
Система: Windows 7 Ultimate SP1 ver.6.1.7601, Excel 2010 ver.14.0.4760.1000
Во вложении - исходный файл.
...
Рейтинг: 0 / 0
Excel->DBF
    #38025157
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пропускает форум мои файлы. Отправил на e-mail...
...
Рейтинг: 0 / 0
Excel->DBF
    #38025212
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeArt, ограничение - 150 Кб
...
Рейтинг: 0 / 0
Excel->DBF
    #38025233
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОФФТОП: Serge 007, знаю. Они маленькие совсем. Позже выяснилось, что проблема была с отправкой любых сообщений, даже без файлов: "Произошла ошибка. Возможно была попытка обойти защиту форума. Попробуйте опубликовать сообщение еще раз." Далеко не с первого раза сообщение отправлялось. Может дело в браузере, может в сети....
P.S.: вот и для этого сообщения раз 50 уже нажимаю "Опубликовать".... тщетно.... но я всё равно сделаю это! )))
...
Рейтинг: 0 / 0
Excel->DBF
    #38031129
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeArt1. Запись "CP866" (естественно - латиницей) в ячейке B1 никак не "указывает" надстройке сохранять файл в кодировке DOS-866. В любом случае кодировка AHSI с кракозябрами (((
2. Если в ячейке A1 в названии файла не укажу расширение, то и создастся он неизвестным файлом, вопреки Вашему утверждению в "Руководстве пользователя".
Помогите с итоговой кодировкой, пожалуйста!
Система: Windows 7 Ultimate SP1 ver.6.1.7601, Excel 2010 ver.14.0.4760.1000
Во вложении - исходный файл.
Файл, правда, не получил, можете прислать на e-mail. Но, возможно, помогут некоторые мои пояснения.
1. Про кодировки. Создайте два файла с разными кодировками (CP1251 и CP866) с расширением DBF. Откройте их по очереди. Какой результат? И в какой программе, кстати, открываете выходной файл? Например, сам EXCEL 2010 откроет 866 корректно, 1251 -- нет. FoxPro, к примеру, откроет корректно оба. Кстати, на сайте вы можете почитать раздел "Предыстория" . Там есть немного об этом ("Ещё раз об Excel и dBASE...")
2. Про расширение. В "Руководстве" написано всё правильно. Если вы не указали расширение, то файл создаётся точно таким же образом в DBF-формате (содержимое файла от расширения НЕ ЗАВИСИТ). Могу предположить, что ваша программа распознаёт файлы DBF-формата именно по расширению DBF. Т.е файл с пустым расширением она не пытается распознать. Чтобы убедится, попробуйте сохранённому файлу с пустым расширением присвоить расширение .DBF и открыть его ещё раз.
...
Рейтинг: 0 / 0
Excel->DBF
    #38031929
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый, Basile, файлы сразу отправил на Вашу почту с названием темы "SQLRU" (от 04.11.2012, 20:36).
Но для всех заинтересовавшихся, попробую ещё раз приложить к сообщению...

Предыстория: есть некая САПР "Базис" ("Базис-Центр", г.Коломна) - проектирование мебели, расчёт стоимости и расхода материалов, зарплаты, складской учёт и многое другое для автоматизации мебельного производства. В неё необходимо внести созданную годами базу данных материалов, комплектующих и их стоимости. Базы и прайсы эти созданы в 1:С и Excel. С 1:С пока не разбирался, начал с прайса в xls, но, думаю тоже придётся поплясать :(
Так вот программа эта принимает ввод данных только ручками или через импорт из dBASE III/IV. Прайсов много (это не единый xls-файл) и в некоторых книгах - по несколько листов.

Конвертируя файл из XLS с помощью Excel 2003, Вашей надстройки в Excel 2010, других программ и макросов, получалось следующее:
- Excel 2003 всегда обрезал конечную таблицу либо по количеству символов в строке, либо вообще по количеству строк и даже столбцов!! Как бы я не выделял конвертируемый диапазон таблицы.
- Какие-то другие конверторы и сложно-мудрёные способы, описанные в Сети тоже по разным причинам не работали, либо работали не так, как надо.
- Ваша же надстройка работает чётко и всегда. НО! DBF-файл, созданный с её помощью у меня ВСЕГДА создаётся в ANSI-кодировке.
Открываю я его в программе "Базис". К слову сказать, открывая его в различных просмотрщиках, блокнотах, Excel 2003/2007/2010 вижу то же самое - некорректное отображение символов и указание кодировки "ANSI-1251". Попытки изменить кодировку в просмотрщиках и сохранить под другим именем почему-то не помогают....

Сейчас поставил себе Visual Fox Pro. Свершилось! В нём файл отображается правильно. Но, получается что надо делать следующее с каждым xls-файлом:
Открыть в Excel2010 - выполнить XlsToDbf - открыть полученный файл в VisualFoxPro - экспортировать с помощью VisualFoxPro в формат dBase IV (DBF), при этом обязательно войти в подменю "Code Page" в меню экспорта и указать кодировку "866 - Russian MS-DOS". Если название кодировки в списке не ткнуть курсором, файл сохранится неизменным. Ужас!!
В итоге таким вот долгим сложным путём работу с XLS-файлами я сделал. Впереди - ещё более сложное конвертирование из баз данных 1:С. Думаю, буду конвертировать их в XLS и далее - в DBF.

Посему прошу Вас, посмотрите, пожалуйста, что не в порядке с моими исходным и конечным файлами, или я что-то делаю не правильно, раз XlsToDbf не учитывает указанную мною кодировку CP866 ??

P.S.: судя по мебельным форумам, многим фирмам, взявшим на вооружение систему "Базис", знакома проблема внесения базы данных из старых прайс-листов. Обязательно расскажу им про вашу надстройку. Ручками-то дольше получится....
...
Рейтинг: 0 / 0
Excel->DBF
    #38031985
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходный файл (XLS):
Кстати, формат таблицы для внесения в систему "Базис" должен быть именно таким (найдено опытным путём):
- первый столбец GROUP - названия групп и подгрупп с разделителем "/". В "Базис" становится разветвлённым деревом категорий материалов.
- столбец PRICE должен быть в формате NUMERIC, остальные - не важно.
...
Рейтинг: 0 / 0
Excel->DBF
    #38031997
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итоговый файл (DBF):
...
Рейтинг: 0 / 0
Excel->DBF
    #38032004
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, про расширение - всё понял. Работает. Только с кодировками осталось разобраться...
...
Рейтинг: 0 / 0
Excel->DBF
    #38033415
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeArtТолько с кодировками осталось разобраться...
Присланный Вами файл ( 1.dbf ) в кодовой странице 1251 .
Хотя 1.xls настроен на 866 , т.е. как будто экспорт делался не из него... Попробуйте сделать экспорт ещё раз.
Кстати в 1.xls имя для экспорта тоже другое, т.е. не 1.dbf .
...
Рейтинг: 0 / 0
Excel->DBF
    #38033424
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeArt,
Вот, на всякий случай, файл полученный мной из Вашего исходника 1.xls
Попробуйте его...
...
Рейтинг: 0 / 0
Excel->DBF
    #38033604
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, имена файлов изменял вручную перед отправкой (есть во мне такая заморочка)
Ваш файл отображается как надо - кириллица читаема.
Мой файл ещё сто раз конвертировал, результат старый - кириллица отображается неправильно. Попробую MS Office переустановить, другую версию поставлю. А в будни на рабочий комп поставлю XlsToDbf, там точно другие версии Excel. Другого выхода не вижу.
...
Рейтинг: 0 / 0
Excel->DBF
    #38033715
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeArtBasile, имена файлов изменял вручную перед отправкой (есть во мне такая заморочка)
Ваш файл отображается как надо - кириллица читаема.
Файл 1.dbf явно конвертировался из другого XLS-файла, т.к. помимо кодовой страницы у него отличается ширина поля CODE . В присланном Вами исходнике 1.xls ширина С50 , а в 1.dbf ширина C20 . Это видно и по размеру самого файла: Вы мне прислали DBF-файл в 9K, а у меня получился 11K (который у Вас отобразился правильно).
А версии WIN и OFFICE у Вас русские родные? Хотя по-моему это не существенно...
...
Рейтинг: 0 / 0
Excel->DBF
    #38033723
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeArt, ещё.

ВАЖНО!

Скачайте последнюю версию XlsToDBF на сайте
...
Рейтинг: 0 / 0
Excel->DBF
    #38080834
DeArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, извините, я пока пропал до середины января. Вернусь - всё опишу...
...
Рейтинг: 0 / 0
Excel->DBF
    #38185386
BabyKiller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотел было написать что сайт умер, но дай думаю проверю через прокси, и На тебе! Работает!

Впервые вижу, что бы у прова (комстар) были такие проблемы с маршрутизацией.

Спасибо за программу, извините за оффтоп.
...
Рейтинг: 0 / 0
Excel->DBF
    #38186005
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BabyKiller,

Просто narod.ru переезжает на ucoz , а у яндекса - редирект. А провайдер - вумный, он uсoz блочит
...
Рейтинг: 0 / 0
Excel->DBF
    #38315099
mark522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В XP/оф2003 надстройка работает на ура, а вот в Win7/oф2007 - работает очень медлено, файл на 50 тыс. строк выгружается за 40-50 мин, в XP этот процесс занимал пару минут. Может надо сделать какието настройки в системе?
...
Рейтинг: 0 / 0
Excel->DBF
    #38326450
Scad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Раздел "Скачать"( http://basile-m.narod.ru/download.html) на сайте автора недоступен, ошибка 404...
...
Рейтинг: 0 / 0
Excel->DBF
    #38326828
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу предложить только предыдущую версию 12283526
http://belozersk.narod.ru/files/SQL/XlsToDBF_v1_01.7z
...
Рейтинг: 0 / 0
Excel->DBF
    #38327017
Scad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. У меня версия 1.02 есть. Но если кто 1.04 поделится, не откажусь.
...
Рейтинг: 0 / 0
Excel->DBF
    #38328815
Сергей 822
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Excel->DBF
    #38328819
Scad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей 822, премного благодарен.
...
Рейтинг: 0 / 0
Excel->DBF
    #38488858
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно встала проблема конвертации из csv в dbf... кажется задачка простая (я так думал), оказалось не все так просто...
в моем csv названия полей на украинском при тупой конвертации без переименования полей (как предлагают большинство прог) не работает... а еще некоторые столбцы нужно было поудалять... думал-думал, и по быстрому в макрорекордере записал макрос и еще немного сам дописал, но он не универсален как эта надстройка, хотелось бы использовать ее, но с некоторыми доработками...
так вот мои предложения по доработке:
1. Сделать надстройку с кнопкой в панели инструментов
делается очень просто:
- в редакторе VBA в надстройке выбираем ЭтаКнига и добавляем туда такой код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Call RemoveToolbar
End Sub

Private Sub Workbook_Open()
    On Error Resume Next
    Call RemoveToolbar
    Call CreateToolbar
End Sub


- создаем еще один моуль и в него добавляем такой код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Sub CreateToolbar()
    Dim Tbar As CommandBar
    Dim NewBtn As CommandBarButton
    Application.ScreenUpdating = False
    Set Tbar = CommandBars.Add
    With Tbar
        .Name = "Мои макросы"
        .Visible = True
        .Left = 0
        .Top = 0
        .Position = 0
    End With
        
        Set NewBtn = CommandBars("Мои макросы").Controls.Add(Type:=msoControlButton)
        With NewBtn
            .FaceId = 1795
            .OnAction = "XlsToDbf"
            .Caption = "CSV в DBF"
            .Enabled = True
        End With
        
    Application.ScreenUpdating = True
End Sub

Sub RemoveToolbar()
    On Error Resume Next
    CommandBars("Мои макросы").Delete
End Sub


2. Вынести шаблон с настройками полей в отдельный файл
3. Сделать ГУИ, где можно было бы выбирать шаблон который использовать в данный момент и там же на форме чекбокс:
Заменять украинскую "і" на английскую "i" для DOS кодировки (это известная проблема укр і при перекодировке в DOS заменяется на знак "?")
код может быть таким:
Код: vbnet
1.
2.
3.
4.
5.
6.
Cells.Replace What:="І", Replacement:="I", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="і", Replacement:="i", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="•", Replacement:="i", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False


ЗЫ... в программировании не силен, есть книга по макросам в Excel - пока изучаю )))
...
Рейтинг: 0 / 0
Excel->DBF
    #38488866
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4. Добавить параметр в шаблоне настроек при установке которого столбцы имеющие этот параметр удалялись бы.
...
Рейтинг: 0 / 0
Excel->DBF
    #38527714
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basile,

Спасибо за макрос/надстройку. При переходе на MS Excel 2007 пришлось им пользоваться.

Версия XlsToDBF_v1_01.7z

Понадобилось сохранить файл с 66603 записями в DBF и тут макрос уперся в границу 65536 и сказал что-то типа range out.
Ругается на строку
Код: vbnet
1.
    nCntRec = rngTable.Rows.Count - 2


что в общем-то логично, ибо
Код: vbnet
1.
 Dim nCntRec As Integer       ' Кол-во записей в таблице (rngTable.Rows.Count - 2)


а Integer в VB от -32,768 до 32,767, т.е. ему даже unsigned не поможет.

В то время как в структуре заголовка поле NumRec, в которое записывается nCntRec объявлен как Long.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Type TopHead
    Ver As Byte
    YearUpdate As Byte
    MonthUpdate As Byte
    DayUpdate As Byte
    NumRec As Long
    FirstRecPos As Integer
    RecLen As Integer
    Reserved_1(15) As Byte
    TableFlags As Byte
    CodePage As Byte
    Reserved_2(1) As Byte
End Type



Короче, я просто поменял тип переменной с Integer на Long и все заработало, таблица более 65536 записей сохраняется.

По большому счету переменная nCntRec используется только в одном месте и ее можно вообще выкинуть, писАть прямо в рекорд хедера:
Код: vbnet
1.
2.
3.
4.
5.
    With Head
        ...
        .NumRec = rngTable.Rows.Count - 2
        ...
    End With



Было бы неплохо включить это исправление в исходник.
...
Рейтинг: 0 / 0
Excel->DBF
    #38537546
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fraks,

Заглядывайте ко мне на http://basile-m.narod.ru] сайт ! Там всегда свежая версия. К сожалению, рассылки у меня нет для оповещения пользователей...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel->DBF
    #38896047
tSerOZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

У меня возникла проблема с использованием надстройки.
Вылетает с ошибкой Run-time error '6' Overflow
строка с ошибкой: FldHead(i).SetFormatField rngTable(2, i + 1), rngTable(1, i + 1)

Win7x32, Office 2010 Для дома и учебы.

Очень нужна ваша помощь.
...
Рейтинг: 0 / 0
Excel->DBF
    #38904252
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tSerOZZДоброго времени суток!

У меня возникла проблема с использованием надстройки.
Вылетает с ошибкой Run-time error '6' Overflow
строка с ошибкой: FldHead(i).SetFormatField rngTable(2, i + 1), rngTable(1, i + 1)

Win7x32, Office 2010 Для дома и учебы.

Очень нужна ваша помощь.

Формат полей нужно указывать без скобок и разделитель желательно точка не N(15,2), а N15.2
...
Рейтинг: 0 / 0
Excel->DBF
    #38910659
Irina2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как работает надстройка в Excel 2013?
Ничего толком не вышло.
...
Рейтинг: 0 / 0
Excel->DBF
    #38935423
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Irina2015Подскажите как работает надстройка в Excel 2013?
Ничего толком не вышло.
Прошу прощения за запоздалый ответ. Надстройка мной не тестировалась в EXCEL 2013 и писалась для 2007/2010. Сам я использую 2010. Будет возможность, обязательно протестирую в 2013 и доложу о результатах.
...
Рейтинг: 0 / 0
Excel->DBF
    #38939049
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Irina2015, протестировал в EXCEL 2013. Макрос работает точно так же, как и в 2007/2010. Возможно у Вас проблемы с подключением надстройки. Напишите на мой e-mail (malinine@tochka.ru) как Вы подключаете надстройку XlsToDBF.xla и какие конкретно возникают проблемы. Я постараюсь Вам помочь.
...
Рейтинг: 0 / 0
Excel->DBF
    #38951878
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?
...
Рейтинг: 0 / 0
Excel->DBF
    #38951884
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за ошибка и какую строку подключения используете?
...
Рейтинг: 0 / 0
Excel->DBF
    #38951936
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, на операторе удаления записи выходит "непредвиденная ошибка драйвера внешней системы 8961", удаляю BDE, переименовываю папку Borland Shared откуда запускается администратор BDE и макрос работает. Но суть в том что BDE использует другая, нужная пользователю программа. Мой макрос несовместим с BDE.
А код у меня примерно такой:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 With cn
        .provider = "Microsoft.Jet.OLEDB.4.0"
        .connectionstring = "Data Source=" & cstrBase & ";Extended Properties=dBase IV"
        .Open
        Do While (i <= lastrow)
             numb_p = Cells(i, 1).Value
               Set rr = Selection.Find(what:=numb_p, After:=ActiveCell, LookIn:=xlFormulas, _
                LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
        
             If rr Is Nothing Then
                connstring = "DELETE FROM 12345678 WHERE NUMB_P = " & CStr(numb_p)
                 .Execute (connstring)
             End If
    i = i + 1
            Application.StatusBar = "ÁÐÀÁÀÒÛÂÀÅÒÑß " & i & " ÑÒÐÎÊÀ"
        Loop
        
        .Close
    End With


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Excel->DBF
    #38951969
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
ArtemisiaДобрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?

Обходной путь - это моё:).

Предлагаю такой: открыть файл dbf в Excel (через Workbooks.Open), поудалять ячейки, используя стандартные экселевские объекты-методы (типа Workbook, Worksheet, Cell и т. п.), а затем закрыть, сохранив изменения.

Надо только поэкспериментировать сначала с какой-нибудь "мусорной" дбф-кой, поскольку Эксель "шибко умный" в плане назначения форматов для колонок:).
...
Рейтинг: 0 / 0
Excel->DBF
    #38951974
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux, excel 2010 не сохраняет dbf-файл.
...
Рейтинг: 0 / 0
Excel->DBF
    #38951981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М-да
Микрософт говорит про это
This behavior may occur if the Borland folder exists on your computer and either of the following conditions is true:
The Borland Database Engine (BDE) was previously installed on your computer but was later removed, leaving an empty folder.
-or-
The BDE was installed incorrectly.и уж конечноThe third-party products that are discussed in this article are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.
...
Рейтинг: 0 / 0
Excel->DBF
    #38952000
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux, а хотя надо попробовать, завтра поэкспериментирую...
...
Рейтинг: 0 / 0
Excel->DBF
    #38952039
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Artemisiauux, excel 2010 не сохраняет dbf-файл.

Ё, да, есть такая проблемка:). Добавили функционалу микрософтовцы - Excel 2003 все сохранял:).

Но, похоже, вы не первая, кто ищет обходной путь:). Вот пример ссылки навскидку:

http://pressdev.ru/soxranyaem-i-otkryvaem-dbf-fajly-v-excel-2007-i-2010/
...
Рейтинг: 0 / 0
Excel->DBF
    #38952284
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtemisiaДобрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?
На счёт BDE посмотрите вот этот пост . Давно это было (под WIN XP), но народ говорит, что даже для WIN7 помогает... Может и Вам поможет.
Что касается моего макроса, то он работает непосредственно с файлом dBASE, т.е. без Connection.
...
Рейтинг: 0 / 0
Excel->DBF
    #38952579
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, спасибо, интересная идея, завтра буду пробовать.
А по поводу работать с dbf напрямую ... мне как раз и нужно такое решение. У меня же просто удаление записей из dbf-файла. Т.е. я должна их пометить на удаление и затем упаковать.
Как-то это можно сделать?
...
Рейтинг: 0 / 0
Excel->DBF
    #38953017
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtemisiaBasile, спасибо, интересная идея, завтра буду пробовать.
А по поводу работать с dbf напрямую ... мне как раз и нужно такое решение. У меня же просто удаление записей из dbf-файла. Т.е. я должна их пометить на удаление и затем упаковать.
Как-то это можно сделать?
Напрямую -- это достаточно хлопотно... У моей программки задача гораздо проще: создать с нуля файл исходя из табличных данных в EXCEL. А написать код, который будет отбирать записи, ставить метки на удаление, паковать -- это задача на несколько порядков выше. Хотя всё возможно :) Но я посоветовал бы воспользоваться готовым провайдером. Например, в своё время я писал код VC .NET C#, используя VFP9 OleDb Provider . Очень мощное средство. Не пробовал подключать его в VBA, не могу сказать даже возможно ли это. Попробуйте поискать информацию по этому поводу.
...
Рейтинг: 0 / 0
Excel->DBF
    #38953020
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения: VS .NET, конечно же...
...
Рейтинг: 0 / 0
Excel->DBF
    #38954511
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, спасибо!!! Добавление записи в реестр сработало и в моем случае, под Windows 7. Спасибо за подсказку, вряд ли бы я сама ее смогла найти.
...
Рейтинг: 0 / 0
Excel->DBF
    #38994263
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, использую ваш макрос в одной таблице... есть два листа на первом вводят данные. а на втором шапка с настройками ДБФ и формулами переносятся данные из первой таблицы... проблема в том. что в созданный ДБФ-файл попадают строки где нету данных, но есть формула (попадают в виде нулей)... как сделать, чтобы макрос отсекал строки где значение пусто, т.е нету данных?
...
Рейтинг: 0 / 0
Excel->DBF
    #38996353
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basile, использую ваш макрос в одной таблице... есть два листа на первом вводят данные. а на втором шапка с настройками ДБФ и формулами переносятся данные из первой таблицы... проблема в том. что в созданный ДБФ-файл попадают строки где нету данных, но есть формула (попадают в виде нулей)... как сделать, чтобы макрос отсекал строки где значение пусто, т.е нету данных?
В текущей версии (XlsToDBF 1.4) это не получится. На данный момент могу посоветовать скопировать таблицу на другой лист (значения). И уже там удалить требуемые строки. Для отбора строк можно воспользоваться фильтром.
Я готовлю новую версию XlsToDBF 2.0, в которой можно предусмотреть такую возможность. Уточните, нужно отсеивать записи, в которых все поля пустые или хотя бы одно?
...
Рейтинг: 0 / 0
Excel->DBF
    #38997304
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, отсеивать всю строку если в ней все значения полей пустые...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998062
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basile, отсеивать всю строку если в ней все значения полей пустые...
Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998104
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BasileVladimir_02Basile, отсеивать всю строку если в ней все значения полей пустые...
Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998438
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basileпропущено...

Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
Я же говорю: делаю новую версию. Там будет другой код. В этой версии перед выводом в файл строка целиком не анализируется. Т.е. выводятся поля друг за другом. Например, при выводе в конечный файл первого поля записи программа понятия не имеет что будет во втором или в десятом. Чтобы реализовать проверку строки до её вывода, нужно существенно изменить код. Скорее всего, нужно будет дописать дополнительную функцию, которая будет делать проверку на пустоту всех полей. Причём, возможно, кому-то пустые строки не нужно удалять из вывода. Соответственно придётся делать ещё один параметр в заголовке выводимой таблицы (наподобие "CP866", "MAC") например, "NOT EMPTY" и проверять в программе этот параметр. В общем, хлопотно это.
А чего в EXCEL трудно отобрать лишние записи? Вышлите файл, я посмотрю, может что-нибудь посоветую...
...
Рейтинг: 0 / 0
Excel->DBF
    #38999350
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BasileVladimir_02пропущено...

а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
Я же говорю: делаю новую версию. Там будет другой код. В этой версии перед выводом в файл строка целиком не анализируется. Т.е. выводятся поля друг за другом. Например, при выводе в конечный файл первого поля записи программа понятия не имеет что будет во втором или в десятом. Чтобы реализовать проверку строки до её вывода, нужно существенно изменить код. Скорее всего, нужно будет дописать дополнительную функцию, которая будет делать проверку на пустоту всех полей. Причём, возможно, кому-то пустые строки не нужно удалять из вывода. Соответственно придётся делать ещё один параметр в заголовке выводимой таблицы (наподобие "CP866", "MAC") например, "NOT EMPTY" и проверять в программе этот параметр. В общем, хлопотно это.
А чего в EXCEL трудно отобрать лишние записи? Вышлите файл, я посмотрю, может что-нибудь посоветую...
хорошо буду ждать новую версию...
автофильтр в екселе на экране скрывает пустые записи. но в ДБФ-ку они все-равно попадают забитые нулями...
выслал на почту пример своего файла...
...
Рейтинг: 0 / 0
Excel->DBF
    #39159149
Роман1979
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Отличная надстройка! Но у меня появилась необходимость использовать ее по libreOffice calc и не могу отладить никак. Ругается что код FldHead(i).SetFormatField rngTable(1, i + 1), rngTable(2, i + 1) передают пустые строки и как следствие выдает ошибку на Name = UCase(Mid(n, 1, 10)) 'переменная типа Object не установлена'. Ни кто не сталкивался с работой надстройки xlstodbf в libreOffice calc???
...
Рейтинг: 0 / 0
Excel->DBF
    #39319020
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман1979,

Пробовал переделывать под OpenOffice, малой кровью это не обойдётся...
Если сами немного разбираетесь в скриптах под OpenOffice, попробуйте переписать мой код.
Ничего более не могу добавить. :(
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel->DBF
    #39934178
arcVadNec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
При использовании макроса xml to dbf дошел до сохранения в dbf

при сохранении вываливается ошибка Run-Time error «1000»: overflow

Не подскажете что делать?

Win 7 64 prof
Office 2013

Заранее СПАСИБО!!!
...
Рейтинг: 0 / 0
Excel->DBF
    #39939725
volos4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://github.com/WallaceWilliam/VBA-macros-XLS-To-DBF

может кому понадобится.
добавлена перекодировка файла назначения
...
Рейтинг: 0 / 0
100 сообщений из 100, показаны все 4 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel->DBF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]