Страница: 1 |
Люди добрые! Поможите кто чем может!!! Я думаю, этот вопрос будет многим интересен. Ежеденвно получаю по 30-40 прайсов от поставщиков. В экселе. Ежедневно приходится проверять их - цены могут менятся по два раза на дню. Может кто подскажет как можно при помощи VB проверять изменения? Позиции могут как добавлятся, так и исчезать. В названиях могут быть изменения вплоть до одной буквы.
Тебе совет или готовый код нужен? Устроит и тот и тот вариант Кроме просмотра и сравнения полей другого варианта я здесь не вижу. простой перебор не проходит! Могут быть опечатки, у каждого из поставщиков свои наименования. Похоже для каждого из поставщиков надо делать таблицу подстановки? Или может есть другие варианты? А здесь как в программе "Сам себе режисер"! Каждый как хочет так и ворочит! А здесь как в программе "Сам себе режисер"! Каждый как хочет так и ворочит! Есть вариант подключить библиотку VB Script'a и использовать регулярные выражения, но и в этом случае 100% гарантии сам понимаешь никто не даст (я не дам даже и 10%). Слишком велика вероятность потерять данные, что я так понимаю в твоем ситуации не есть хорошо. Примерно то же у меня было, когда я работал верстальщиком и правил телепрограммы. Все они приходили в самых разных форматах и видах и все это великолепие надо было приводить к одному стандарту. Полностью автомат мне сделать тогда так и не удалось даже для такой задачи, где хоть что-то можно было предполагать. У тебя видимо даже и того не будет Я вижу один вариант: Расценивать книгу Excel как обычный источник данных, работая с ним через MS ADODB. Для этого понадобятся Jet.IISAM-драйверы Экселя; они автоматом ставятся с Visual Studio, Office 2000, MS Jet.OLEDB.4.0, MDAC 2.1-2.5 и т.д. Подконнектившись к книге через ADODB.Connection, пишешь SQL-запрос на выборку: тут может понадобиться указание диапазона ячеек, в котором лежит таблица с полезной информацией о товарах. Хорошо, если от каждого поставщика все прайсы приходят в типизированном формате, - тогда каждому поставщику можно поставить в соответствие некий диапазон ячеек, и хранить эти соответствия в INI-шнике (к примеру). Ну а если в книгах используются "именованные диапазоны" - то это вообще лафа. Так вот, выбирая нужные тебе данные из листа, ты можешь использовать SQL-оператор LIKE, позволяющий производить "нечёткие" сравнения. Так можно найти "подозрительно похожие" товарные позиции. Если такой путь устраивает, то могу накидать на мыло и статей, и готовых проектов по работе с IISAM-ами... Я нечто похожее делал, только там мрачнее было: данные приходили в HTML-е, причём каждый раз разной структуры. Пришлось написАть "угадайку", которая парсила HTML и находила в нём полезные таблицы. Потом перегоняла это в Эксель. После серии перегонок решала задачи, похожие на твою (но не совсем - а то сразу бы код выслал). Выслал на мыло. Страница: 1 |
Вопрос: Сравнение содержимого двух xls-файлов
Добавлено: 19.05.03 15:03
Автор вопроса: cfk | ICQ: 117144252
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
USA
Вопросов: 1
Ответов: 184
Профиль | | #1
Добавлено: 20.05.03 04:54
Номер ответа: 2
Автор ответа:
cfk
ICQ: 117144252
Вопросов: 1
Ответов: 5
Профиль | | #2
Добавлено: 20.05.03 10:20
Номер ответа: 3
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #3
Добавлено: 20.05.03 18:22
Номер ответа: 4
Автор ответа:
cfk
ICQ: 117144252
Вопросов: 1
Ответов: 5
Профиль | | #4
Добавлено: 20.05.03 18:32
Номер ответа: 5
Автор ответа:
USA
Вопросов: 1
Ответов: 184
Профиль | | #5
Добавлено: 21.05.03 00:35
А какие-нибудь ГОСТ, ОСТ, ТУ - по ним нельзя ориентироваться
Номер ответа: 6
Автор ответа:
cfk
ICQ: 117144252
Вопросов: 1
Ответов: 5
Профиль | | #6
Добавлено: 21.05.03 10:15
Номер ответа: 7
Автор ответа:
cfk
ICQ: 117144252
Вопросов: 1
Ответов: 5
Профиль | | #7
Добавлено: 21.05.03 10:17
Номер ответа: 8
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #8
Добавлено: 21.05.03 12:43
Номер ответа: 9
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #9
Добавлено: 22.05.03 20:45
Номер ответа: 10
Автор ответа:
cfk
ICQ: 117144252
Вопросов: 1
Ответов: 5
Профиль | | #10
Добавлено: 23.05.03 12:01
Я тоже так подумал. Стандартными средствами тут не обойтись. Буду благодарен за инфу!
Номер ответа: 11
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #11
Добавлено: 23.05.03 12:53