Страницы: 1 2 След.
RSS
в TextBox чтоб показывал сегодняшнюю дату текущее время и курс доллара
 
Как загнать в TextBox чтоб показывал сегодняшнюю дату   текущее время  и  курс доллара по ЦБ  
(если нет связи по интернет то в TextBox в курсе доллара  пишет - "нет соединения Интернет !")
 
{quote}{login=miha}{date=01.03.2011 11:17}{thema=в TextBox чтоб показывал сегодняшнюю дату   текущее время  и  курс доллара}{post}...то в TextBox в курсе доллара  пишет - "нет соединения Интернет !"...{/post}{/quote}  
и показывает курс в ближайшем обменнике :)
 
Дату легко, курс тоже не сложно - есть много UDF. А вот с временем сложнее - оно ведь текущее... Может быть хватит времени появления текстбокса?  
И сам текстбокс покажите.
 
{quote}{login=Hugo}{date=01.03.2011 11:24}{thema=}{post} Может быть хватит времени появления текстбокса?{/post}{/quote}  
Можно кнопулю "Обновить" :-) Или таймер какой...
 
Ну сделать конечно можно. Но зачем? И если часы тикают, значит (кроме гемороя с организацией тиканья, загрузкой процессора и т.д.) ещё нужно отслеживать, не пора ли показать новый курс...
 
да все действие одноразово по открытию листа  
TextBox1 показывает курс по открытию листа  
TextBox2 показывает дату по открытию листа  
TextBox3 показывает время по открытию листа  
 
В ячейке то понятно =ТДАТА()и все  
а как в TextBox загнать по Private Sub Worksheet_Activate() не знаю
 
{quote}{login=miha}{date=01.03.2011 12:00}{thema=}{post}В ячейке то понятно =ТДАТА()и все  
а как в TextBox загнать по Private Sub Worksheet_Activate() не знаю{/post}{/quote}  
Private Sub Worksheet_Activate()  
TextBox1.Value = Now()  
End Sub
 
Например так. Вот только сообщения в случае отсутствия сети выводит в Msgbox - под задачу не переделывал.  
Там сами подкрутите.
 
спасибо Hugo !  
Один момент - сечас дата время в одном TextBox а надо в разных  
те как понимаю формат TextBox2 в Selection.NumberFormat = "m/d/yyyy"  
так дополнить TextBox2.NumberFormat = "m/d/yyyy" ???  
 
а TextBox3 в Selection.NumberFormat = "h:mm;@"  
так дополнить TextBox3.NumberFormat = "h:mm;@" ???
 
Так например (номера текстбоксов поменяйте на свой вкус):  
 
Private Sub Worksheet_Activate()  
TextBox1.Value = Format(Now(), "dd.mm.yyyy")  
TextBox3.Value = Format(Now(), "hh.mm.ss")  
TextBox2.Value = GetRatesF()  
End Sub  
 
Ну и в коде формулы поправьте результат, если сети нет.
 
со временем и датой получилось  
 
а вот в курсе доллара TextBox3  0 показываеи и все тут  
модуль с Function GetRatesF() и Private Sub URL2HTML() ввел через экспорт-импорт 1 в 1 проверил    
Что может быть?
 
При переходе по листам время меняется?  
В приложенном файле курс тянется?
 
TextBox3.Value = Format(GetRatesF(), "0.0000") попробовал    
все равно нули показывает  
 
но ведь в файле Hugo все нормально показывает ..
 
Поставьте в коде свего файла в функции GetRatesF()  
точку останова на  
varInpDate = Now    
или просто напишите  
 
Stop  
перед  
varInpDate = Now    
 
и проследите пошагово при выполнении функции, где что сбоит. И выполняется ли функция вообще.
 
сейчас проверил в вашем файле примера тоже получается так  
при открытии файла - курс есть  
при переходе с листа на лист курс исчезает - нули показывает ..
 
Ну тогда смотреть пошагово, что в переменных sHtmlCode = objHttp.responseText  
Может у вас сайт http://cbr.ru/currency_base/daily.aspx не то, что у меня возвращает.
 
сайт http://cbr.ru/currency_base/daily.aspx у меня в инете нормально открывается  
даже не знаю в чем дело
 
Добавьте временно для проверки в конце Private Sub URL2HTML()  
строку  
MsgBox sHtmlCode  
Должно показать код страницы.
 
да показывает код страницы
 
Тогда остаётся отследить это кусок:  
 
On Error Resume Next  
sDollarRate = Mid(sHtmlCode, InStr(InStr(1, sHtmlCode, "USD"), sHtmlCode, "[/td][/tr]") - 7, 7)
 
sHtmlCode = ""  
 
sep_ = Mid$(1 / 2, 2, 1)  
   sDollarRate = CSng(Replace(sDollarRate, ",", "sep_"))  
 
GetRatesF = Replace(sDollarRate, ",", ".")  
 
Пройдите пошагово по F8 и посмотрите, что в переменных.
 
а как это сделать по ALT+F8 только запуск макросов  
как отследить то
 
Точка останова или Stop - я выше упоминал.
 
все понял STOP поставил по f8 смотрю
 
После URL2HTML сразу перескакивает на Private Sub URL2HTML()  
минуя этот кусок  
On Error Resume Next  
sDollarRate = Mid(sHtmlCode, InStr(InStr(1, sHtmlCode, "USD"), sHtmlCode, "[/td][/tr]") - 7, 7)
 
sHtmlCode = ""  
 
sep_ = Mid$(1 / 2, 2, 1)  
   sDollarRate = CSng(Replace(sDollarRate, ",", "sep_"))  
 
GetRatesF = Replace(sDollarRate, ",", ".")  
 
Application.ScreenUpdating = True  
 
End Function
 
Ну правильно, так ведь написано :)  
Потом вернётся.
 
...если конечно End не отработает, или код не зависнет...
 
После первого прохода куска  
Private Sub URL2HTML()  
-------------------  
End Sub  
 
не выходит  
 
а перескакивает на и проходит весь этот блок  
Stop  
On Error Resume Next  
sDollarRate = Mid(sHtmlCode, InStr(InStr(1, sHtmlCode, "USD"), sHtmlCode, "[/td][/tr]") - 7, 7)
 
sHtmlCode = ""  
 
sep_ = Mid$(1 / 2, 2, 1)  
   sDollarRate = CSng(Replace(sDollarRate, ",", "sep_"))  
 
GetRatesF = Replace(sDollarRate, ",", ".")  
 
Application.ScreenUpdating = True  
 
End Function  
 
потом выходит на EndSub листа
 
все правильно получается что ли
 
Получается правильно. Но ничего путного н получается?  
Тогда чему равна переменная sDollarRate?  
Уже тут она должна содержать значение курса:  
sDollarRate = Mid(sHtmlCode, InStr(InStr(1, sHtmlCode, "USD"), sHtmlCode, "[/td][/tr]") - 7, 7)
 
да все совпадает  
У вас то работает при переходе с листа на лист ничего не обнуляется ?
Страницы: 1 2 След.
Читают тему
Наверх