Страницы: 1 2 След.
RSS
Расчет расстояний с запросом на сайт
 
День Добрый!  Подскажите, пожалуйста, как создать запрос на сайт на расчет расстояний по маршруту. Поясню. по работе использую сайт www.ati.su для расчета пройденного машиной пути. Для этого задается начальная и конечная точка и промежуточные города. Таких маршруток в день бывает до 70 штук, вот и сижу тупо вбиваю. Может возможно как-то автоматизировать в Excel? Весьма признателен за любую подсказку.
 
http://www.planetaexcel.ru/forum.php?thread_id=18385
 
Не тот пример. Надо в пример поиск курса валют приводить :)  
Попробовал - получается, по аналогии из ссылки например  
sURL = "http://www.ati.su/Trace/Default.aspx?EntityType=Trace&City1=рига&City5=москва"  
можно вытянуть число 956.
 
Что-то в примере второго города не вижу. Тамбов? Угадал?
 
{quote}{login=Hugo}{date=19.08.2010 02:37}{thema=}{post}Что-то в примере второго города не вижу. Тамбов? Угадал?{/post}{/quote}  
Спасибо.  
Тверь это.  
Сейчас попробую
 
Я пробовал на файле GetRates_post_141938.xls  
Где-то чуть позже я его на функцию кому-то переделывал, теперь эту функцию можно для Вас переделать - будет вместо курса расстояние вытягивать.
 
Да вот она, красоту правда не наводил.
 
{quote}{login=Hugo}{date=19.08.2010 03:58}{thema=}{post}Да вот она, красоту правда не наводил.{/post}{/quote}  
Да, уж не силен в макросах! Надо покорпеть...
 
Подскажу - для наладки надо получить в сторонний файл (в Debug.Print не влазит по причине размера) код страницы и в нём смотреть, где километры и к чему привязаться.
 
Хотя я делал иначе - бил код в массив по vbnewline, цикл по массиву с поиском "асстоян". Вроде 1400 строка где-то. Это чтоб не мучиться с выводом в файл. Но в файле легче анализировать.
 
Наврал - 1814 строка, а километры на одну позже, в 1815:  
                                                                                                                                           <span id="ctl00_PlaceHolderMain_atiTrace_lblTotalDistance">956</sp­an> км</font></b>[/td]
 
Опять наврал, отнимите 1 - массив строк с 0 начинается.
 
Хотя что я тут темню - вот же всё готово - ищем  
PlaceHolderMain_atiTrace_lblTotalDistance  
и берём чуть правее :)
 
Получилось?  
 
Я не нашёл, куда километры вставлять, дописал в конец.  
"Тверь" в формуле не прописывал для универсальности, пишите в строке формул.  
Зато можно просчитаь между любыми городами.  
Рассчитано на 6 цифр, больше наверное не понадобится.  
Отключил Application.Volatile - тормозило. Похоже, что тут не нужно. Смотрите, тестируйте.
 
{quote}{login=Hugo}{date=19.08.2010 09:34}{thema=}{post}Получилось?  
 
Я не нашёл, куда километры вставлять, дописал в конец.  
"Тверь" в формуле не прописывал для универсальности, пишите в строке формул.  
Зато можно просчитаь между любыми городами.  
Рассчитано на 6 цифр, больше наверное не понадобится.  
Отключил Application.Volatile - тормозило. Похоже, что тут не нужно. Смотрите, тестируйте.{/post}{/quote}  
 
День Добрый, Уважаемый Hugo!  
Закон относительности в действии! Думал - знаю, умею... А как столкнулся с истинным профессионалом - он тебе и разжевал и показал - понял, что "баран". Извините, это я про себя, конечно! Полночи учился, по другому не скажешь. Скажу прямо - из всего, что Вы мне написали понял только одно - автоматизировать расчет расстояний в Excel с запросом на сайт возможно. Но как...увы, не туда пальчиком жму видимо. Если у Вас найдется время разжевать мне по пунктам...400-997-633 или and1966@yandex.ru. Заранее благодарен!
 
Да что там теперь разжёвывать - всё готово. Меняете город - получаете новое расстояние.  
А учиться - всегда пригодится.  
Я кстати не профессионал. Просто очень лениво руками всё делать :)
 
Да, формулу можно перенести в PERSONAL.XLS - тогда она будет доступна из любого файла. И не будет запроса на включение макросов по причине этой формулы на листе.
 
{quote}{login=Hugo}{date=20.08.2010 03:07}{thema=}{post}Да что там теперь разжёвывать - всё готово. Меняете город - получаете новое расстояние.  
А учиться - всегда пригодится.  
Я кстати не профессионал. Просто очень лениво руками всё делать :){/post}{/quote}  
до меня только дошло! Да, это великолепно работает! СПАСИБО! Только при расчете расстояния от А до Б. А можно ли сделать так - от А до А через Б,В,Г,Д?
 
Попробовал - можно сделать, но города надо заводить номерами.  
Если у Вас городов ограниченное количество и Вы можете составить список соответсвия, тогда можно этот список дать формуле. Если списка нет - тогда нет.  
А кстати формула уже и мне пригодилась. И оно ищет не только по России, но и по Европе тоже.
 
{quote}{login=Hugo}{date=20.08.2010 05:26}{thema=}{post}Попробовал - можно сделать, но города надо заводить номерами.  
Если у Вас городов ограниченное количество и Вы можете составить список соответсвия, тогда можно этот список дать формуле. Если списка нет - тогда нет.  
А кстати формула уже и мне пригодилась. И оно ищет не только по России, но и по Европе тоже.{/post}{/quote} Счписок составить можно. А потом попробовать привязать ПОИСК номера по городу и подстановку
 
Там в формуле надо доработать - добавить Trim значениям, а то в случае лишнего пробела в названии не находит.
 
{quote}{login=Hugo}{date=20.08.2010 05:34}{thema=}{post}Там в формуле надо доработать - добавить Trim значениям, а то в случае лишнего пробела в названии не находит.{/post}{/quote}  Все - выгоняют. Поеду, дома покумеекаю... СПАСИБО!
 
Хмм, они это дело за деньги продают :)  
 
http://www.ati.su/Content.aspx?Path=RoutesService  
 
Так что могут и прикрыть со временем эту формулу.
 
По ходу дела на работе обнаружился косяк - у меня всё нормально, но тот же файл при открытии на 2003 офисе зависает и выкидывает в дебаг VBA кода (но ничего не показывает,т.к. завис :)) по причине того, что формула лезет сразу на сайт. Если убрать с листа формулу - всё нормально.  
В общем, переделал формулу в макрос. Срабатывает при активации С5.
 
{quote}{login=Hugo}{date=20.08.2010 08:31}{thema=}{post}По ходу дела на работе обнаружился косяк - у меня всё нормально, но тот же файл при открытии на 2003 офисе зависает и выкидывает в дебаг VBA кода (но ничего не показывает,т.к. завис :)) по причине того, что формула лезет сразу на сайт. Если убрать с листа формулу - всё нормально.  
В общем, переделал формулу в макрос. Срабатывает при активации С5.{/post}{/quote}  
Приветствую, Уважаемый!  
Во-первых, спасибо за уделенное мне время!  
Во-вторых,прошу помочь.  
Не хватает моих знаний в Excel, чтобы понять состав макроса, который Вы мне прислали в файле! И так , и так пробовал - все не то.  
Я тут другой сайт нарыл: http://www.sit-trans.com/?action=distance  
В нем города, через которые идет транспорт, можно записать в одной ячейке через запятую. Мне показалось это более удобным при запросе. В файле я сцепку городов в одну ячейку сделал, обозначил красным где нужен результат (км, бензин). А вот как прописать запрос на сайт - ну не получается!  
Может найдете возможность помочь недотепе.  
Извините за беспокойство.  
С уважением, Андрей
 
Приветствую.  
Попытался поменять адрес сайта, но в чем-то ошибка...не пойму  
 
'изготовлено by HUGO  
Dim from_ As String, to_ As String, rezult_ As String  
from_ = Application.Trim([c3]) 'from_)
to_ = Application.Trim([c4]) 'to_)
sURL = "http://www.sit-trans.com/?start_city=%EC%EE%F1%EA%E2%E0&end_city=%E2%EB%E0%E4%E8%EC%E8­%F0&price_type=length&inter_city=" & from_ & "&City5=" & to_  
URL2HTML  
On Error Resume Next  
rezult_ = Mid(sHtmlCode, InStr(sHtmlCode, "PlaceHolderMain_atiTrace_lblTotalDistance") + 43, 6)  
rezult_ = Replace(rezult_, "<", "")  
rezult_ = Replace(rezult_, "/", "")  
rezult_ = Replace(rezult_, "s", "")  
rezult_ = Replace(rezult_, "p", "")  
rezult_ = Replace(rezult_, "a", "")  
rezult_ = Replace(rezult_, "n", "")  
rezult_ = Replace(rezult_, " 1.0 T", "нет инф.")  
[c5] = Val(rezult_)
End Sub
 
Слушай, забыл совсем про эту задачу...  
Так тут и адрес другой, и искать иначе надо.  
Вечером дома посмотрю.
 
{quote}{login=Hugo}{date=25.08.2010 04:02}{thema=}{post}Слушай, забыл совсем про эту задачу...  
Так тут и адрес другой, и искать иначе надо.  
Вечером дома посмотрю.{/post}{/quote}  
 
Мне показалось, что введение промежуточных городов через запятую будет проще. А промежуточные города очень важны - а то маршруты длинные и разные получаются. Плюс на этом сайте доп.результат - км, расход топлива  
спасибо.
 
Не так просто, как с первого сайта - тут кодировка мешает. Но в принципе сделать можно, найти только перекодировщик надо.
 
Даа, с кодировкой засада, мало у меня опыта, не могу подобраться. Есть спецы по кодировкам?
Страницы: 1 2 След.
Читают тему
Наверх