На прошлой неделе я наткнулся на статью Coding4Fun «Использование веб-службы поиска Amazon» и мысленно заметил, что нужно добиться того же результата в Excel.
На самом деле я не скачивал пример, но собирался создать что-то на основе приведенного снимка экрана.
А вот скриншот моей версии (Скачать внизу):
Одно из основных различий между примером Coding4Fun и моим примером заключается в том, что Codinging4fun использует веб-службу Amazon SOAP, а в моем примере используется веб-служба REST.
Выбор использовать REST вместо SOAP был обусловлен двумя причинами.
1. Я предпочитаю ОТДЫХ, а не МЫЛО 🙂
2. Для использования SOAP (даже с Excel 2003) требуется дополнительный набор инструментов от Microsoft. Использование REST требует только установки ссылки на синтаксический анализатор XML.* (в этом примере это Microsoft XML, версия 5.0), который должен быть установлен на любом компьютере с Office 2003)
Совместимость
Пользовательская форма Amazon Search была протестирована в Excel 2003 на машине с установленным Internet Explorer (для перехода по URL-адресу элемента) и подключением к Интернету.
Примечания
Ответ на поисковый запрос от Amazon - это ответ «Большой», который также возвращает URL-адрес изображения. В зависимости от скорости вашего соединения поиск может занять несколько секунд.
Я все еще новичок в синтаксическом анализе XML; Код не защищен паролем, поэтому не стесняйтесь попробовать свои силы в сокращении строк кода. (или создание собственной модифицированной версии (большой ответ дает гораздо больше информации, чем я использовал на самом деле))
Кредиты
Я загрузил изображения элемента в форме в элемент управления изображением, из URL, используя удивительный код Хуана Пабло Гонсалаза.
Пути к элементам XML были обнаружены с помощью инструментария 2003 XML Toolkit.
Щелкните эту ссылку, чтобы загрузить поиск Amazon в форме пользователя Excel.
Попробуйте сломать его, изменить, дайте мне знать, что вы думаете.
*Ссылка на синтаксический анализатор XML не требуется, если вы не используете VBA для синтаксического анализа XML. Вместо этого просто сопоставьте данные с ячейками вашей электронной таблицы.