Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос отказывается выполняться - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос отказывается выполняться (Макросы/Sub)
Макрос отказывается выполняться
Vertep7 Дата: Четверг, 04.01.2024, 00:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Уважаемые форумчане объясните почему не исполняется указанный макрос. Перебрал некоторые библиотеки и на всякий случай сменил Офис с 7 на 16, чтобы проверить может дело в версии Эксель, но проблема осталась та же. Затык начинается со строки "Sheets(1).Range(B2).Value" Хотя у его создателя, как я понимаю, он работает прекрасно. Ссылка на статью
[vba]
Код
Sub Weather()
Dim xmlhttp As New MSXML2.XMLHTTP60
Dim xmlresponse As MSXML2.DOMDocument60
Dim myurl As String

myurl = "http://api.openweathermap.org/data/2.5/weather?apikey=4a2360d14bf33378079d2e2d49e35ddb&mode=xml&units=metric&q=Moscow"

xmlhttp.Open "GET", myurl, False
xmlhttp.send
Set xmlresponse = xmlhttp.responseXML

Sheets(1).Range(B2).Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range(B3).Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range(B4).Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text

End Sub
[/vba]


Сообщение отредактировал Vertep7 - Четверг, 04.01.2024, 00:24
 
Ответить
СообщениеУважаемые форумчане объясните почему не исполняется указанный макрос. Перебрал некоторые библиотеки и на всякий случай сменил Офис с 7 на 16, чтобы проверить может дело в версии Эксель, но проблема осталась та же. Затык начинается со строки "Sheets(1).Range(B2).Value" Хотя у его создателя, как я понимаю, он работает прекрасно. Ссылка на статью
[vba]
Код
Sub Weather()
Dim xmlhttp As New MSXML2.XMLHTTP60
Dim xmlresponse As MSXML2.DOMDocument60
Dim myurl As String

myurl = "http://api.openweathermap.org/data/2.5/weather?apikey=4a2360d14bf33378079d2e2d49e35ddb&mode=xml&units=metric&q=Moscow"

xmlhttp.Open "GET", myurl, False
xmlhttp.send
Set xmlresponse = xmlhttp.responseXML

Sheets(1).Range(B2).Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range(B3).Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range(B4).Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text

End Sub
[/vba]

Автор - Vertep7
Дата добавления - 04.01.2024 в 00:23
jun Дата: Четверг, 04.01.2024, 12:48 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 42 ±
Замечаний: 0% ±

Очевидно, что проблема в отсутствии кавычек в названиях диапазонов, в строках:
[vba]
Код
Sheets(1).Range(B2).Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range(B3).Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range(B4).Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text
[/vba]
их нужно добавить:
[vba]
Код
Sheets(1).Range("B2").Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range("B3").Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range"(B4").Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text
[/vba]
 
Ответить
СообщениеОчевидно, что проблема в отсутствии кавычек в названиях диапазонов, в строках:
[vba]
Код
Sheets(1).Range(B2).Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range(B3).Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range(B4).Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text
[/vba]
их нужно добавить:
[vba]
Код
Sheets(1).Range("B2").Value = xmlresponse.SelectNodes("//current/temperature/@value")(0).Text
Sheets(1).Range("B3").Value = xmlresponse.SelectNodes("//current/precipitation/@mode")(0).Text
Sheets(1).Range"(B4").Value = xmlresponse.SelectNodes("//current/wind/speed/@name")(0).Text
[/vba]

Автор - jun
Дата добавления - 04.01.2024 в 12:48
Vertep7 Дата: Четверг, 04.01.2024, 17:47 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Ура, заработало. Но нужно обязательно подключить библиотеку Microsoft XML v 3.0, без неё не будет работать.

Плохо когда скрипт не работает всего лишь из-за какой-то мелочи, из-за чего приходится перерывать весь интернет в поисках решения, думая что проблема серьезней.
 
Ответить
СообщениеУра, заработало. Но нужно обязательно подключить библиотеку Microsoft XML v 3.0, без неё не будет работать.

Плохо когда скрипт не работает всего лишь из-за какой-то мелочи, из-за чего приходится перерывать весь интернет в поисках решения, думая что проблема серьезней.

Автор - Vertep7
Дата добавления - 04.01.2024 в 17:47
doober Дата: Четверг, 04.01.2024, 20:00 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 944
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Особенно, если в оригинале все правильно
К сообщению приложен файл: 7314966.png (32.0 Kb)




Сообщение отредактировал doober - Четверг, 04.01.2024, 20:01
 
Ответить
СообщениеОсобенно, если в оригинале все правильно

Автор - doober
Дата добавления - 04.01.2024 в 20:00
Vertep7 Дата: Суббота, 06.01.2024, 20:19 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Особенно, если в оригинале все правильно

Изначально было два образца из которых был сделан набросок, но в каждом, как оказалось, была своя ошибка, в одном не забит город, во втором не было кавычек.


Сообщение отредактировал Vertep7 - Суббота, 06.01.2024, 20:24
 
Ответить
Сообщение
Особенно, если в оригинале все правильно

Изначально было два образца из которых был сделан набросок, но в каждом, как оказалось, была своя ошибка, в одном не забит город, во втором не было кавычек.

Автор - Vertep7
Дата добавления - 06.01.2024 в 20:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос отказывается выполняться (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!