Страницы: 1
RSS
[ Закрыто ] МАКРОС ДЛЯ ПРОВЕРКИ ПОЧТОВЫХ ОТПРАВЛЕНИЙ
 
МОЖНО ЛИ СОЗДАТЬ МАКРОС ДЛЯ ПРОВЕРКИ ПОЧТОВОГО ОТПРАВЛЕНИЯ ПО ШТРИХ-КОДУ. ТО ЕСТЬ ЧТОБЫ ИЗ ОДНОГО СТОЛБЦА БРАЛСЯ ИМЕЮЩИЙСЯ ШТРИХ КОД, А ИЗ (ИВЦ ОАСУ РПО - Отслеживание РПО)http://info.russianpost.ru/servlet/post_item  ВОЗВРАШАЛИСЬ ДАННЫЕ О ДАТЕ ПРИЕМА, МЕСТЕ ПРИЕМА,ВЕСЕ, ДАТЕ ВРУЧЕНИЯ. И ЧТО БЫ АВТОМАТИЧЕСКИ ПРОВЕРЯЛСЯ ВЕСЬ СТОЛБЕЦ.
 
ДА, ТАКОЙ МАКРОС СОЗДАТЬ МОЖНО.  
НАДО ПРОГРАММНО ВЫПОЛНЯТЬ ВЕБ-ЗАПРОСЫ,  
КАК, НАПРИМЕР, СДЕЛАНО ЗДЕСЬ: http://excelvba.ru/programmes/MoviesSearch
 
Как-то так.
 
Если чуточку переделать код от sva,  
макрос будет намного быстрее и стабильнее работать:  
 
Sub post()  
   Dim oIE As Object, sHTML As String, tmp, i As Long, j As Long  
   Set oIE = CreateObject("InternetExplorer.Application")  
   oIE.Visible = 0  
   oIE.Navigate ("http://info.russianpost.ru/servlet/post_item")  
   Do While oIE.busy Or (oIE.ReadyState <> 4): DoEvents: Loop  
   For j = 6 To 15  
       oIE.Document.forms(0).elements("barCode").Value = Cells(j, 2).Value  
       oIE.Document.forms(0).elements("barCodeSearchBtn").Click  
       Do While oIE.busy Or (oIE.ReadyState <> 4): DoEvents: Loop  
       sHTML = oIE.Document.body.innerhtml  
       tmp = Split(sHTML, "<")  
       For i = 0 To UBound(tmp)  
           If InStr(tmp(i), "Приём") > 0 Then  
               Cells(j, 3) = Split(tmp(i + 2), ">")(1)  
               Cells(j, 4) = Split(tmp(i + 6), ">")(1)  
               Cells(j, 7) = Split(tmp(i + 10), ">")(1)  
           End If  
           If InStr(tmp(i), "Вручение") > 0 Then  
               Cells(j, 5) = Split(tmp(i + 2), ">")(1)  
               Cells(j, 6) = Split(tmp(i + 6), ">")(1)  
           End If  
       Next  
   Next  
   Set oIE = Nothing  
End Sub
 
BDS, у Вас клавиша Caps Lock залипла?
 
Ну, ведь он же просит создать МАКРОс. Потому и заглавными буквами.  
Вот если бы нужен был МИКРОс, то были бы строчные :)
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
{quote}{login=sva}{date=27.06.2011 10:39}{thema=}{post}Как-то так.{/post}{/quote}  
СПАСИБО,РАБОТАЕТ!!!  
А МОЖНО ЧТОБЫ ФОРМАТ БЫЛ ТАКИМ?
 
{quote}{login=sva}{date=27.06.2011 10:39}{thema=}{post}Как-то так.{/post}{/quote}  
А МОЖНО СДЕЛАТЬ ТАК ЧТОБЫ ДАТА БЫЛА БЕЗ ВРЕМЕНИ И ПОЧЕМУ-ТО ВЕС ИНОСТРАННЫХ ПОСЫЛОК НЕ ПОЛУЧАЕТСЯ, И ЧТО БЫ МАКРОС НЕ ОСТАНАВЛИВАЛСЯ ПОКА НЕ ЗАККОНЧАТСЯ ШТРИХ КОДА, А ИХ БЫВАЕТ НЕСКОЛЬКО СОТЕН. ИЗВИНИТЕ КОНЕЧНО ЗА НАГЛОСТЬ, НО В EXCELE Я, МЯГКО ГОВОРЯ, НОВИЧОК, ПЫТАЮСЬ ЧТО-НИБУДЬ ПОНЯТЬ ИЗ ИНТЕРНЕТА. ВОТ НАШЕЛ ЭТОТ ФОРУМ, ПОПРОСИЛ ПОМОЧЬ. СПАСИБО ЧТО ОТКЛИКНУЛИСЬ.
 
Вот когда CapsLock научитесь отключать - тогда и с форматами поможем.  
 
PS: Там ещё дорабатывать макрос надо - он некорректно выдаёт дату и место вручения  
(по крайней мере, у меня так)
 
Господа Модераторы!  
Топик-стартер упорно игнорирует призывы соблюдать правила.  
Может тему лочить пора раз уж юзверга забанить нельзя?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
> ПОЧЕМУ-ТО ВЕС ИНОСТРАННЫХ ПОСЫЛОК НЕ ПОЛУЧАЕТСЯ  
 
по идее, макрос надо полностью переписывать, чтобы он для любого номера выдавал корректные результаты.  
 
Это сложно - сами вы не справитесь.  
А поскольку вы не хотите понять, что писать большими буквами неприлично, - то и готового решения вы вряд ли дождётесь.
 
Смотрите.  
 
Вес брался изначально из данных при отправке, а в иностранных посылках его нет.  
Поменял условие, теперь вес берется из данных при вручении.
 
BDS, я тему закрываю. Если есть что сказать - пишите мне.
Страницы: 1
Читают тему
Наверх