Макрос отказывается выполняться
Vertep7
Дата: Четверг, 04.01.2024, 00:23 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация:
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]
Уважаемые форумчане объясните почему не исполняется указанный макрос. Перебрал некоторые библиотеки и на всякий случай сменил Офис с 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
Сообщение отредактировал 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 145
Репутация:
43
±
Замечаний:
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
Ответить
Сообщение Очевидно, что проблема в отсутствии кавычек в названиях диапазонов, в строках: [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
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация:
0
±
Замечаний:
20% ±
Excel 2007
Ура, заработало. Но нужно обязательно подключить библиотеку Microsoft XML v 3.0, без неё не будет работать. Плохо когда скрипт не работает всего лишь из-за какой-то мелочи, из-за чего приходится перерывать весь интернет в поисках решения, думая что проблема серьезней.
Ура, заработало. Но нужно обязательно подключить библиотеку Microsoft XML v 3.0, без неё не будет работать. Плохо когда скрипт не работает всего лишь из-за какой-то мелочи, из-за чего приходится перерывать весь интернет в поисках решения, думая что проблема серьезней. Vertep7
Ответить
Сообщение Ура, заработало. Но нужно обязательно подключить библиотеку Microsoft XML v 3.0, без неё не будет работать. Плохо когда скрипт не работает всего лишь из-за какой-то мелочи, из-за чего приходится перерывать весь интернет в поисках решения, думая что проблема серьезней. Автор - Vertep7 Дата добавления - 04.01.2024 в 17:47
doober
Дата: Четверг, 04.01.2024, 20:00 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 970
Репутация:
332
±
Замечаний:
0% ±
Excel 2010
Особенно, если в оригинале все правильно
Особенно, если в оригинале все правильно doober
Сообщение отредактировал doober - Четверг, 04.01.2024, 20:01
Ответить
Сообщение Особенно, если в оригинале все правильно Автор - doober Дата добавления - 04.01.2024 в 20:00
Vertep7
Дата: Суббота, 06.01.2024, 20:19 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация:
0
±
Замечаний:
20% ±
Excel 2007
Особенно, если в оригинале все правильно
Изначально было два образца из которых был сделан набросок, но в каждом, как оказалось, была своя ошибка, в одном не забит город, во втором не было кавычек.
Особенно, если в оригинале все правильно
Изначально было два образца из которых был сделан набросок, но в каждом, как оказалось, была своя ошибка, в одном не забит город, во втором не было кавычек.Vertep7
Сообщение отредактировал Vertep7 - Суббота, 06.01.2024, 20:24
Ответить
Сообщение Особенно, если в оригинале все правильно
Изначально было два образца из которых был сделан набросок, но в каждом, как оказалось, была своя ошибка, в одном не забит город, во втором не было кавычек.Автор - Vertep7 Дата добавления - 06.01.2024 в 20:19