'вытаскиваем значение переменной из XML
Function GetXmlElement(xmlCell, iData, sID, NM, PARAM)
Set xmlParser = CreateObject("Msxml2.DOMDocument")
xmlParser.async = False
'xmlParser.Load "D:\my.xml" 'вариант для загрузки из файла
'xmlParser.LoadXML Range("B7").Value 'вариант загрузки из ячейки
xmlParser.LoadXML xmlCell.Value 'загрузка XML введенной переменной xmlCell
'Выбираем нужный нам элемент, который отвечает заданным условиям
Set colNodes = _
xmlParser.SelectNodes("//data[@id='" & iData & "']//row[@" & sID & "='" & NM & "']/@" & PARAM) 'путь
'Перебираем полученную выборку
For Each nodeNode In colNodes
' проверка типа данных и сохранение в нужно типе
If nodeNode.Value Like "####-##-##" = True Then
GetXmlElement = nodeNode.Value 'дата
ElseIf nodeNode.Value Like "*##*" Then
GetXmlElement = Val(nodeNode.Value) 'число
Else
GetXmlElement = CStr(nodeNode.Value) 'строка
End If
Next
End Function
Заказывал работу у R Dmitry (написание скрипта под импорт XML файла в google sheets. Стандартными функциями было не реализовать). Работа выполнена в срок и оперативно. Рекомендую!
Необходимо перенести этот функционал в гугл таблицу (google sheets).
В общем. Делается запрос на сайт. Ответ в виде xml нужно закинуть в ячейку (гугл таблицы). Затем дергать из ячейки (с ячейки с xml инфой) требуемую информацию (как в примере эксельной таблицы).
Делается это для того, чтобы при отправки большого кол-ва запросов на сервер, сервер перестает отвечать на 30-60 мин. Чтобы уменьшить кол-во запросов и ускорить работу используем "буфер" (в виде выгрузки данных в ячейку).