Задать вопрос

Как заставить Excel 2010 получать данные через SOAP?

Сейчас я занимаюсь получением данных ЦБ по банкам в разных регионах. Единой базы данных по ним нет, но есть некий веб-сервис cbr.ru/scripts/Root.asp?Prtid=WSR. Там объясняется, как загружать эти данные в Excel с использованием SOAP Toolkit 3.0.

Я не смог заставить SOAP Toolkit 3.0 работать с Excel 2010 (не нашел всех необходимых библиотек), а также вроде бы выяснил, что эти данные можно получать, используя MSXML2.XMLHTTP. Примера, к сожалению, не обнаружил.

Дорогие хабравчане, объясните, пожалуйста, как заставить работать Excel с этими данными.
  • Вопрос задан
  • 6913 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
Я для подобной задачи использовал «MSSOAP.SoapClient30»
Ниже пару ссылок с примерами использования:

second-ext.inttrust.ru/Site/itforum.nsf/all/C3F45FE47E7C77FEC32573AA004CD70B?OpenDocument
developer.textanywhere.net/v2/Samples/Sample_ASP-VB.aspx
Ответ написан
Вот конкретный пример использования из мануала:
WEBAdress = "Тут адрес сервера" WEBUser = "ЛОГИН" WEBPass = "ПАРОЛЬ" Set WEBObject = CreateObject("MSOSOAP.SoapClient30") WEBObject.ClientProperty("ServerHTTPRequest") = True 'Указываем местонахождение файла с wsdl схемой сервиса на локальном ресурсе WEBObject.MSSOAPInit "OFIS_OS_SOAP_CRM_MD.wsdl", "", "", "" WEBObject.ConnectorProperty("EndPointURL") = WEBAdress WEBObject.ConnectorProperty("AuthUser") = WEBUser WEBObject.ConnectorProperty("AuthPassword") = WEBPass WEBObject.ConnectorProperty("Timeout") = 90000 Set oXML = CreateObject("Microsoft.XMLDOM") WEBRequest = "<IN_KODBP xmlns="""">999999</IN_KODBP><IN_KODSPR xmlns="""">2</ IN_KODSPR><IN_ZPARTNIN xmlns=""""/>" Set Responce = WEBObject.OS_SOAP_CRM_MD( WEBRequest ) sReport = "c:\_WEBReport.txt" Set oFSO = WScript.CreateObject("Scripting.FileSystemObject") Set oRep = oFSO.CreateTextFile(sReport, True) oRep.WriteLine "Справочники" oRep.WriteLine Responce.Item(0).XML oRep.WriteLine "Код обработки" oRep.WriteLine Responce.Item(1).XML oRep.Close WEBObject.ConnectorProperty("Timeout") = 900 Set oRep = Nothing Set oFSO = Nothing Set Responce = Nothing Set oXML = Nothing Set WEBObject = Nothing
Ответ написан
Комментировать
anatolie
@anatolie
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы