Есть рабочий макрос, который берёт курс валют с биржевого сайта и вставляет его в ячейку Excel. Не устраивает в его работе, то что при изменении курса валюты, он продолжает так же вставлять старое значение курса в ячейку, что бы получить уже новую цифру файл эксель приходится закрывать и запускать заново. Что нужно подправить в этом макросе, что бы изменения курса проходило без постоянного переоткрытия файла и вставлялась уже новая циферка? [vba]
Код
Sub Get_USD_BIRGA() Dim sURI As String Dim oHttp As Object Dim htmlcode, outstr As String
sURI = "http://www.forexpf.ru/chart/usdrub/" On Error Resume Next Set oHttp = CreateObject("MSXML2.XMLHTTP") If Err.Number <> 0 Then Set oHttp = CreateObject("MSXML.XMLHTTPRequest") End If On Error GoTo 0 If oHttp Is Nothing Then Exit Sub End If oHttp.Open "GET", sURI, False oHttp.Send htmlcode = oHttp.responseText outstr = Mid(htmlcode, InStr(1, htmlcode, "Курс доллара к рублю (USDRUB)") + 44, 6) 'для курса Bid значение 44. Для курса Ask изменить на 61 Set oHttp = Nothing outstr = Replace(outstr, ",", ".") ActiveCell.Value = outstr End Sub
[/vba]
Есть рабочий макрос, который берёт курс валют с биржевого сайта и вставляет его в ячейку Excel. Не устраивает в его работе, то что при изменении курса валюты, он продолжает так же вставлять старое значение курса в ячейку, что бы получить уже новую цифру файл эксель приходится закрывать и запускать заново. Что нужно подправить в этом макросе, что бы изменения курса проходило без постоянного переоткрытия файла и вставлялась уже новая циферка? [vba]
Код
Sub Get_USD_BIRGA() Dim sURI As String Dim oHttp As Object Dim htmlcode, outstr As String
sURI = "http://www.forexpf.ru/chart/usdrub/" On Error Resume Next Set oHttp = CreateObject("MSXML2.XMLHTTP") If Err.Number <> 0 Then Set oHttp = CreateObject("MSXML.XMLHTTPRequest") End If On Error GoTo 0 If oHttp Is Nothing Then Exit Sub End If oHttp.Open "GET", sURI, False oHttp.Send htmlcode = oHttp.responseText outstr = Mid(htmlcode, InStr(1, htmlcode, "Курс доллара к рублю (USDRUB)") + 44, 6) 'для курса Bid значение 44. Для курса Ask изменить на 61 Set oHttp = Nothing outstr = Replace(outstr, ",", ".") ActiveCell.Value = outstr End Sub
kiramiD, Добрый день. Видимо он запускается при событии Workbook_Open() Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику
kiramiD, Добрый день. Видимо он запускается при событии Workbook_Open() Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по кликуsboy
kiramiD, Добрый день. Видимо он запускается при событии Workbook_Open() Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику
Добрый день! Нарисовал кнопку, привязал к ней макрос, всё то же самое, пока Эксельку не перегрузишь тянет старый курс, не помогло, нужно другое решение.
kiramiD, Добрый день. Видимо он запускается при событии Workbook_Open() Нарисуйте кнопку в файле и повесьте на него макрос, будет обновлять по клику
Добрый день! Нарисовал кнопку, привязал к ней макрос, всё то же самое, пока Эксельку не перегрузишь тянет старый курс, не помогло, нужно другое решение.kiramiD
Абсолютно в любой файл даже в пустой вставляйте этот макрос и нажмите исполнить, в активную ячейку запишется циферка курса с сайта биржи, но при изменении курса на сайте бирже, новая циферка уже не попадает в ячейку, пишется всё время старая, пока не перегрузишь файл эксель (абсолютно любой файл), так что дело не в файле, а именно в макросе который тянет этот одинаковый курс в Ваш файл, т.е. он почему то не понимает динамического изменения странички этой биржи.
Абсолютно в любой файл даже в пустой вставляйте этот макрос и нажмите исполнить, в активную ячейку запишется циферка курса с сайта биржи, но при изменении курса на сайте бирже, новая циферка уже не попадает в ячейку, пишется всё время старая, пока не перегрузишь файл эксель (абсолютно любой файл), так что дело не в файле, а именно в макросе который тянет этот одинаковый курс в Ваш файл, т.е. он почему то не понимает динамического изменения странички этой биржи.kiramiD
Спасибо вроде то что нужно, есть мелкие шероховатости, когда ноль в конце цифры попадает, то добавляет сторонний символ к цифре, но с этим думаю справлюсь сам.
Спасибо вроде то что нужно, есть мелкие шероховатости, когда ноль в конце цифры попадает, то добавляет сторонний символ к цифре, но с этим думаю справлюсь сам.kiramiD