VBA. Эксель. Поисковые запросы на сайтах
Формулировка задачи:
доброго времени суток! Подскажите новичку, как можно в Экселе через vba на сайте
http://rts.micex.ru/ru/search.aspx
вбить в строку поиска определенную бумагу (напр, Газпром) и вывести в Эксель количество объявлений по бумаге.
Не могу разобраться какие библиотеки для этого нужно подключить к ВБА и как в итоге отправлять информацию на сайт
Если можно, по пунктам опишите, пожалуйста, все необходимые процедуры. И если есть подхоящий код, то буду очень благодарен!
http://rts.micex.ru/ru/search.aspx
вбить в строку поиска определенную бумагу (напр, Газпром) и вывести в Эксель количество объявлений по бумаге.
Не могу разобраться какие библиотеки для этого нужно подключить к ВБА и как в итоге отправлять информацию на сайт
Если можно, по пунктам опишите, пожалуйста, все необходимые процедуры. И если есть подхоящий код, то буду очень благодарен!
Решение задачи: «VBA. Эксель. Поисковые запросы на сайтах»
textual
Листинг программы
Sub open_GAZR()
Dim IE As Object
Dim inpS As MSHTML.IHTMLElementCollection
Dim el As MSHTML.IHTMLElement
Dim A, m, pos As Integer
Dim tempHTML, St As String
Dim Loc As String
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.navigate "rts.micex.ru/ru/csearch.aspx"
Do While IE.readyState <> 4
DoEvents
Loop
Loc = IE.LocationURL ' Location URL before Click
Set inpS = IE.document.getElementsByTagName("input")
For Each el In inpS
If el.Name = "sstr" Then
el.Value = "Газпром"
End If
If el.Name = "bSubmit" Then
el.Click
End If
Next el
Do While Loc = IE.LocationURL ' Wait for change
DoEvents
Loop
Do While IE.readyState <> 4
DoEvents
Loop
A = 0
Do
A = A + 1
tempHTML = IE.document.body.innerHTML
Loop Until InStr(A, tempHTML, "Найдено")
pos = InStr(A, tempHTML, "Найдено")
m = pos + 9
Do Until Mid(tempHTML, m, 1) = Chr(32)
m = m + 1
Loop
St = Mid(tempHTML, pos + 9, m - pos - 9)
MsgBox St
End Sub