2

Может ли Excel 2007 получать доступ к веб-службам, в частности к Google Finance или Yahoo Finance?

Я бы хотел, чтобы моя рабочая тетрадь автоматически обновляла цены акций / фондов с любого из этих сайтов.

Я знаю, что вы можете импортировать таблицы с веб-сайтов (Импорт данных из Интернета), но это не отвечает моим потребностям. В Google Spreadsheets есть функция GoogleLookup для автоматического поиска цен, но я бы предпочел использовать Excel, чтобы использовать сводки, форматирование таблиц и т.д.

Если нет, то есть ли в Excel 2010 такая возможность?

3 ответа3

1

Вот ссылка на всю необходимую информацию, которая понадобится вам для использования библиотеки «Microsoft Office Soap Type Library v3.0». Нажмите здесь для подробной документации. , Также вот пример, показывающий, как использовать некоторые данные котировки акций.

Похоже, вам придется немного заняться программированием на VBA, но, похоже, вы можете загрузить множество примеров и даже примеров книг Excel.

Наслаждайтесь!

1

Полностью выполнимо через VBA.

Dim objHttp As Object, strURL as string, strText as string

Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")

strURL = "http://www.google.com/finance?q=NASDAQ%3AMSFT"

objHttp.Open "GET", strURL, False
objHttp.setRequestHeader "User-Agent", _
  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHttp.Send ("")

strText = objHttp.responseText

'And this is where you parse apart the strText 
'(effectively the HTML of the site) to locate your relevant data

Set objHttp = Nothing
0

Редактировать: это работает только для Excel 2003 (хотя также требует установки плагина)

Может, да. Вам нужно активировать их в VBA.

  1. Откройте редактор Visual Basic (Alt + F11)
  2. Нажмите на Инструменты> Ссылки
  3. В появившемся списке найдите компонент с именем «Microsoft Office Soap Type Library v3.0» и проверьте его
  4. Нажмите OK, компонент установлен.

Чтобы сгенерировать методы доступа к веб-службе, необходимо указать файл определения (wsdl) в пункте меню «Справочник по веб-службе» в инструментах, которые должны появиться после.

Чтобы на самом деле получить доступ к данным с этого момента, вам понадобится программирование на VBA, и я приглашаю вас задать больше вопросов об этом на нашем родственном сайте, посвященном вопросам программирования, Stack Overflow.


Хорошо, этот метод работал в Excel 2003, но, похоже, в настоящее время он не рекомендуется. Я не могу найти меню, о котором я тебе говорил. Библиотека, на которую я ссылался, вероятно, используется для совместимости.

Теперь все, что я могу найти по этому поводу, это сделать это из Visual Studio 2008 или следовать другим указаниям в этом вопросе о переполнении стека.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .