Блог

Для использования возможностей протокола SOAP в среде Microsoft Office необходимо установить комплект программного обеспечения 

Установка SOAP Toolkit 3.0

Для начала процесса инсталляции пакета SOAP Toolkit 3.0 необходимо разархивировать содержимое из скачанного архива soapsdk.zip и запустить исполняемый файл soapsdk.exe.

Далее нажать кнопку «Да» и согласиться с запуском процесса инсталляции.

Рисунок 1. Диалог запуска процесса инсталляции

  

Рисунок 2. Диалог приветствия инсталлятора

Далее появится диалог приветствия (Рисунок 2), на котором необходимо нажать кнопку “Next”.

Рисунок 3. Пользовательское соглашение

Диалог пользовательского соглашения (Рисунок 3). На данном диалоге необходимо прочитать и текст лицензионного соглашения и согласиться, поставив галку в строке «I accept the terms in the License Agreement» и нажать на кнопку “Next”.

Рисунок 4. Диалог информации о пользователе

Далее появится диалог ввода информации о пользователе (Рисунок 4), в нем необходимо ввести данные об имени пользователя и названии организации, и нажать на кнопку “Next”.

 

Рисунок 5. Конфигуратор установки

После чего появится диалог конфигуратора установки (Рисунок 5) пакета SOAP Toolkit 3.0 в котором можно изменить путь установки и отключить ненужные для установки компоненты. Оставить все по умолчанию и нажать на кнопку “Install”.

 

Рисунок 6. Экран завершения установки SOAP Toolkit 3.0

Окно завершения (Рисунок 6) инсталляции пакета – сообщает что установка закончена и необходимо нажать на кнопку “Finish”.

 

 

Создание макроса Microsoft Office

Для получения данных с сервера ЦСДН по протоколу SOAP необходимо создать соответствующие макросы на языке Microsoft Visual Basic.

Для этого необходимо открыть новый документ Microsoft Office и вызвать окно «Макрос» (Рисунок 8), нажав Alt+F8 или кнопку «макросы» в ленте приложения Microsoft Office в разделе «Вид» (Рисунок 7)

 

Рисунок 7. Вызов окна Макрос из ленты приложения MS Office

В окне «Макрос» необходимо ввести имя макроса в поле «Имя макроса» (Например, «ConnectToDB») и нажать кнопку «Создать».

Рисунок 8. Окно макрос

После чего откроется редактор кода Microsoft Visual Basic Script (Рисунок 9) c созданным пустым макросом.

Рисунок 9. Окно редактора Microsoft Visual Basic Script

Вставьте в макрос следующий код:

Sub ConnectToDB() 

Set SOAPClient = CreateObject("MSSOAP.SOAPClient30")
' отключение автоматического вывода ошибок
' для вывода расширенной информации ошибки MSSOAP.SOAPClient30
OnErrorResumeNext 

' здесь надо ввести адрес Вашего сервера ЦСДН (доменное имя или IP)
' например "192.168.1.1" , "csdn.kirov.ru" и т.д.
URL = "192.168.1.1"
' здесь надо ввести порт SOAP Вашего сервера ЦСДН (по умолчанию 8650)
PORT = "8650

' подключение к ЦСДН
SOAPClient.mssoapinit ("http://" + URL + ":" + PORT + "/WSDL")

' сообщение если возникла ошибка
If Err Then
  MsgBox SOAPClient.faultString
  MsgBox SOAPClient.detail
Else
  MsgBox ("Соединение с ЦСДН установлено!")
End If

Exit Sub

End Sub

Рисунок 10. Пример кода для подключения к ЦСДН

 

Рисунок 11. Пример ввода кода макроса

На рисунке 11 показан пример ввода кода макроса. Красным отмечен IP адрес или доменное имя сервер ЦСДН с которого должны загружаться данные. Зеленым – порт SOAP ЦСДН. Необходимо заменить адрес на реальный адрес и порт доступного ЦСДН.

После ввода макроса необходимо его выполнить для проверки соединения с ЦСДН. Это можно сделать прямо в среде Microsoft Visual Basic нажав кнопку F5. В случае успешного выполнения скрипта будет выведено диалоговое окно

Далее, после успешного соединения может быть произведен вызов процедур для получения данных из ЦСДН. Соответствующий список процедур указан в документе «Спецификация доступа к данным» (предоставляется по запросу).

Например, для вызова процедуры getVersion (вернуть версию сервера ЦСДН) необходимо написать следующий код макроса:

Sub ConnectToDB() 

Set SOAPClient = CreateObject("MSSOAP.SOAPClient30")
' отключение автоматического вывода ошибок
' для вывода расширенной информации ошибки MSSOAP.SOAPClient30
OnErrorResumeNext

' здесь надо ввести адрес Вашего сервера ЦСДН (доменное имя или IP)
' например "192.168.1.1" , "csdn.kirov.ru" и т.д.
URL = "192.168.1.1"
' здесь надо ввести порт SOAP Вашего сервера ЦСДН (по умолчанию 8650)
PORT = "8650

' подключение к ЦСДН
SOAPClient.mssoapinit ("http://" + URL + ":" + PORT + "/WSDL") 

' сообщение если возникла ошибка
If Err Then
  MsgBox SOAPClient.faultString
  MsgBox SOAPClient.detail
Else
  ' Запрос версии ЦСДН. Параметры: имя пользователя; пароль
  res = SOAPClient.getVersion("test", "test") 

  ' Вывод сообщения версии сервера в ячейку A1 активного листа c использованием Range
  Range("A1").Value = "Версия сервера ЦСДН:"
  ' Выравнивание ширины колонки A1 по содержимому
  Range("A1").EntireColumn.AutoFit
  ' Установка цвета ячейки - серым
  Range("A1").Interior.ColorIndex = 15 
  ' Вывод версии сервера в ячейку A2 активного листа c использованием Cells
  Cells(1, 2).Value = res
  ' Выравнивание ширины колонки A2 по содержимому
  Cells(1, 2).EntireColumn.AutoFit 

End If

Exit Sub

End Sub

Рисунок 13. Полный код примера получения версии ЦСДН

Для вызова, написанного кода макроса необходимо воспользоваться окном Макрос (Рисунок 8), выделив наш макрос мышью в списке макросов и нажав кнопку «Выполнить», после чего в текущий активный лист, в ячейки A1 и A2 запишется версия ЦСДН (Рисунок 14)

Рисунок 14. Результат выполнения макроса ConnectToDB

 

Примеры использования протокола SOAP для получения данных с ЦСДН и вывода данных в таблицу листа Excel приведены в файле Пример.xls

Рисунок 15. Пример вывода данных на лист документа Excel с помощью кнопок, связанных с макросами

ООО "МЕТЕОКОНТЕКСТ"

Российский разработчик уникального метеорологического программного обеспечения.

info@meteoctx.ru  8 (495) 380-30-56

Подписаться на рассылку