Всем добрый день! Есть один вопрос, решение которого я так и не нашел.
Понимаю, что скорее всего это невозможно, ввиду того, что на сайте не предусмотрен API и он не способен выводить страницу в формате xml, но тем не менее. Есть такой сайт: http://ex.belpost.by/addressbook/ Это сайт белорусской почты, где можно посмотреть индекс. Можно ли как-то сделать так, чтобы макрос брал адрес, забитый в ячейке (причем не всегда идеально красиво) пробивал его через сайт белпочты и выдавал индекс.
http://ex.belpost.by/addressbook/get_address_by_data.php?street_id=НАЗВАНИЕ УЛИЦЫ&city_id=НАЗВАНИЕ ГОРОДА®ion_id=НАЗВАНИЕ РЕГИОНА&obl_id=НАЗВАНИЕ ОБЛАСТИ
можно вытащить JSON c закодированными UNICODE'ом названиями. Например так Далее конвертируем юникод в нормальный текст, потом JSON обрабатываем какой-нибудь заточенной под это дело библиотекой. То есть, чисто теоретически - возможно. Попробую вечером что-нибудь придумать, если никто не сделает раньше
vlad7790, пробуйте. Т.к. не из Беларуси - много адресов для проверки не "нарыл" Вроде бы, основные кейсы (нет совпадений, пара совпадений, дубли, очень много результатов) отображены, но лучше погоняйте на реальных адресах. http://ex.belpost.by/addressbook/ поддерживает поиск по частичному совпадению области, района, населенного пункта и улицы. Соответственно, "API" подтянул к этим полям. Разбор строк
Цитата
... адрес[а], забит[ого] в ячейке (причем не всегда идеально красиво)
не реализовывал. Только указанные поля, только хардкор)
tolstak, еще раз спасибо! Все отлично работает. Вы сделали отличную работу!
Если пару вопросов, с вашего позволения: Можно ли добавить на всплывающее окно кнопки: 1. Пропустить (переход к следующему) 2. Пропустить все (в случае если решил не щелкать, чтобы закрыть все)
И можно ли реализовать такую функцию, чтобы если в графе индекс уже был вбит индекс , программа у меня сперва спрашивала,желаю ли я пересчитать соответствующие строки, а потом уже, в случае если я соглашусь, начинала все это пересчитывать.
tolstak написал: Разбор строк Цитата... адрес[а], забит[ого] в ячейке (причем не всегда идеально красиво) не реализовывал. Только указанные поля, только хардкор)
С помощью форумчан удалось реализовать подобную функцию. То есть я ввожу полный адрес, а специальная функция вычленяет из него город и улицу. Вот только когда я копирую этот макрос, все модули и т.д. из своей таблички в вашу Excel пишет ошибку: 'Compile Error: User-defined type not defined' Дальше в модуле выделяется первая строка: Public Function getCity(ByVal this As String) As String А курсов ставится на эту: Dim pReg As New VBScript_RegExp_55.RegExp То есть я не могу объединить два этих макроса в одном.
vlad7790, в макросе использованы подключаемые библиотеки, нужно подкючить regular expressions и microsoft scripting runtime. К сожалению сейчас не смогу дать точную инструкцию - с телефона :-) Но на форуме точно было много раз о том как подключить.