Обновление курса валют из инернета возможно? Если да, то как?
Обновление курса валют из инернета возможно?
16.05.2008 10:28:39
|
|
|
|
16.05.2008 10:55:08
|
|
|
|
16.05.2008 12:40:08
Помогите со строкой для швейцарского франка
|
|
|
|
16.05.2008 14:56:45
ну замените "USD" на "CHF"
|
|
|
|
19.05.2008 13:49:09
{quote}{login=слэн}{date=16.05.2008 02:56}{thema=}{post}ну замените "USD" на "CHF"{/post}{/quote}
заменил.. не помогает.. там ещё код (2 цифры) какой-то |
|
|
|
20.05.2008 21:23:11
alt+F11 - эта книга - F7 - ctrl+F2 - down arrow - tab- enter
|
|
|
|
21.05.2008 09:13:34
У меня получилось два раза down arrow :)
Зависит был код там или нет |
|
|
|
10.06.2008 16:32:40
забейте в поиск на главной странице "автоматически срабатывал при открытии" и вы наверное очень удивитесь....
|
|
|
|
30.10.2008 15:38:04
Кошмар, коллеги! Теперь при использовании вот этого восхитительного макроса
|
|
|
|
30.10.2008 15:56:25
вот
Живи и дай жить..
|
|
|
|
30.10.2008 18:33:15
А разве слэн говорил, что у него там макросы?
Розеточка, нажмите Данные - Обновить данные
Bite my shiny metal ass!
|
|
|
|
31.10.2008 03:43:02
' ZVI:2008-10-31 Определение курса валют ЦБР на заданную дату
' Подправлен код: ' Примеры вызова в формуле ячейки: ' =КурсЦБР("EUR") - для текущей даты ' =КурсЦБР("EUR";ДАТА(2008;10;30)) Function КурсЦБР(Optional ТипВалюты = "USD", Optional ByVal Дата) As String Dim Запрос$, Ответ$, Курс$ Dim День%, Месяц%, Год%, i&, oHttp If IsMissing(Дата) Then Дата = Now If Not IsDate(Дата) Then Дата = CDate(Дата) День = Format(Дата, "dd") Месяц = Format(Дата, "mm") Год = Format(Дата, "yyyy") Запрос = "http://cbr.ru/currency_base/daily.aspx?C_month= " & _ Месяц & "&C_year=" & Год & "&date_req=" & День & "%2F" & _ Месяц & "%2F" & Год On Error Resume Next Set oHttp = CreateObject("MSXML2.XMLHTTP") If Err <> 0 Then Set oHttp = CreateObject("MSXML.XMLHTTPRequest") End If If oHttp Is Nothing Then Exit Function oHttp.Open "GET", Запрос, False oHttp.Send Ответ = oHttp.responseText i = InStr(InStr(1, Ответ, UCase(ТипВалюты)), Ответ, "[/td][/tr]") - 7 Курс = Mid(Ответ, i, 7) Set oHttp = Nothing Курс = Replace(Курс, ",", ".") КурсЦБР = Курс End Function Sub Test_КурсЦБР() Dim v, d ' Тип валюты: AUD,BYR,DKK,USD,EUR,ISK,KZT,CAD,CNY,TRY,NOK,XDR,SGD,UAH,GBP,SEK,CHF,JPY v = "EUR" ' Дата d = DateSerial(2008, 10, 30) ' Записать в активную ячейку курс ActiveCell.Value = КурсЦБР(v, d) ' И добавить комментарий With ActiveCell On Error Resume Next .Comment.Delete .AddComment "Курс ЦБР " & v & Chr(10) & d End With End Sub |
|
|
|
31.10.2008 10:21:44
ZVI, спасибо, так уже гораздо лучше! :)
|
|
|
|
28.01.2010 13:54:33
Я-таки сам разобрался, в чём было дело и "допилил" формулы до вполне "юзабельного" состояния.
Всё теперь работает отлично и снабжено комментариями для желающих разобраться. Стало можно даже вводить просто часть названия валюты в любом регистре вместо её буквенного кода. (Цифровым кодом валюты лучше не пользоваться, т.к. цифры случайно могут совпасть с частью цифр курса.) Function КурсЦБР(Optional Код_Валюты = "USD", Optional ByVal Дата) As String '--------------------------------------------------------------------------------------- ' Procedure : КурсЦБР ' Author : Основа - ZVI:2008-10-31, коррекция - Alex_ST: 2010-01-28 ' URL : ' Date : 28.01.2010 ' Purpose : Определение курса валют, установленного ЦБР на заданную дату [по умолчанию - текущая дата] ' Notes : Валюта - любая [по умолчанию - доллар США] из публикуемых на сайте ЦБРФ ' ' Вместо кода валюты можно вводить уникальную часть её названия: ' (вместо "BUR" можно ввести "Белорусских рублей" или "белорус") ' Примеры вызова в формуле ячейки: ' =КурсЦБР()или =КурсЦБР("USD") или =КурсЦБР("сШа") - курс USD для текущей даты ' =КурсЦБР(;"2008-10-30")или =КурсЦБР(;"2008.10.30") или =КурсЦБР("сШа") - курс USD для даты 2008.10.30 ' Аналогично: ' =КурсЦБР("EUR") или =КурсЦБР("еВрО") - курс EUR для текущей даты ' =КурсЦБР("EUR";"2008/10/30") или =КурсЦБР("EUR";ДАТА(2008;10;30)) '--------------------------------------------------------------------------------------- Function Курс_Доллара(Optional ByVal Дата) As String ' запрос курса Доллара США с сайта ЦБ РФ '--------------------------------------------------------------------------------------- ' Procedure : Курс_Доллара ' Author : Основа - Pavel55, коррекция - Alex_ST: 2010-01-28 ' URL : ' Date : 28.01.2010 ' Purpose : Запрос курса Доллара, установленного ЦБР на заданную дату ' Notes : По умолчанию - текущая дата '--------------------------------------------------------------------------------------- Function Курс_Евро(Optional ByVal Дата) As String ' запрос курса Евро с сайта ЦБ РФ '--------------------------------------------------------------------------------------- ' Procedure : Курс_Евро ' Author : Основа - Pavel55, коррекция - Alex_ST: 2010-01-28 ' URL : ' Date : 28.01.2010 ' Purpose : Запрос курса Евро, установленного ЦБР на заданную дату ' Notes : По умолчанию - текущая дата '--------------------------------------------------------------------------------------- Единственная "непонятка" у меня получилать, когда сделал макрос-пример, использующий функцию КурсЦБР... Откуда берутся лишние знаки после запятой, если сама функция их на даёт? А если в макросе вместо .Value = CSng(КурсЦБР(Валюта, Дата)) написать .Value = КурсЦБР(Валюта, Дата) , то вообще запятую "проглотит", зато лишние знаки не появятся... Знатоки! Ведь последний штрих остался! Что я не так "допилил"? Наверное, где-то что-то с размерностью... |
|
|
|
28.01.2010 16:59:53
А Currency не подразумевает это округление?
|
|
|
|
28.01.2010 17:15:54
|
|
|
|
28.01.2010 17:27:09
Алекс, это был вопрос :-) У меня справка странная - некоторые разделы пустые, или отображаются частично. Вот я и спросил.
|
|
|
|
Читают тему