Как подключить api к excel
Free API Мосбиржи в формулах Microsoft Excel
Ранее уже писал про получение данных с Московской биржи через формулы Google Таблиц. Однако остался вопрос — можно ли получать эти же данные при локальном использовании Microsoft Excel или его свободного аналога LibreOffice Calc? Без использования скриптов или ручного копирования.
Microsoft Excel с формулами получения данных с Мосбиржи
И на этот вопрос можно дать положительный ответ. Это даже более удобно, поскольку не приходится ожидать загрузки результатов работы функции IMPORTXML в Гугл Таблицах.
Аналогом этой функции в Excel и Calc выступает связка формул: WEBSERVICE (ВЕБСЛУЖБА) + FILTERXML (ФИЛЬТР.XML).
При работе с Microsoft Excel есть некоторые нюансы:
Протестировал этот файл в Microsoft Excel 2019 под Windows 10 и в LibreOffice Calc 6.4 под Linux Mint 19.3. Под Mac OS у меня возможности протестировать не было.
API Московской биржи в формулах MS Excel
В общем виде все запросы, которые можно отправить к API Мосбиржи есть в справочнике. Но лично для меня этот справочник до сих пор не особо понятен, хотя с API контактирую довольно часто.
Идентификатор режима торгов
В API Московской биржи очень многое зависит от параметра «Идентификатор режима торгов» (primary_boardid), который можно посмотреть прямо у них на сайте через форму поиска.
Идентификатор режима торгов для акций Тинькофф
Также этот идентификатор можно посмотреть через обычный HTTP-запрос к API:
Поиск через HTTP-запрос к API Мосбиржи по слову Пермь
Автоматическое получение имени акций, облигаций и ETF
Очень удобно, что можно получить полное или краткое наименование инструмента. Для облигаций полное название особенно понятно.
Файл « API Мосбиржи в Microsoft Excel.xlsx » с примерами автоматического получения имени для разных классов активов. Корректно работает и в LibreOffice Calc
Автоматическое получение текущих цен
На этой вкладке представлены актуальные примеры для получения цен акций, облигаций и ETF с Московской биржи.
Цена предыдущего дня берётся через PREVADMITTEDQUOTE, а не LAST с 15 минутной задержкой, поскольку по некоторым низко ликвидным инструментам через LAST цены может просто не быть.
Файл « API Мосбиржи в Microsoft Excel.xlsx » с примерами автоматического получения имени для разных классов активов. Корректно работает и в LibreOffice Calc
Автоматическое получение дивидендных выплат для акций
Очень удобная функция Мосбиржи, которая позволяет получать не только значение текущей выплаты, но и историю выплат дивидендов вместе с датами и значениями.
Файл « API Мосбиржи в Microsoft Excel.xlsx » с примерами автоматического получения имени для разных классов активов. Корректно работает и в LibreOffice Calc
Автоматическое получение облигационных выплат
По облигациям (не только корпоративным, но также ОФЗ и еврооблигациям) можно автоматически получать дату выплаты следующего купона и его значение.
Файл « API Мосбиржи в Microsoft Excel.xlsx » с примерами автоматического получения имени для разных классов активов. Корректно работает и в LibreOffice Calc
Автоматическое получение дат оферт
Удобно планировать собственные финансы, получая даты оферт (дата, в которую инвестор или эмитент имеют право досрочно погасить облигацию по цене номинала) автоматически.
Файл « API Мосбиржи в Microsoft Excel.xlsx » с примерами автоматического получения имени для разных классов активов. Корректно работает и в LibreOffice Calc
UPD. Пользователь mixei подсказывает, что автоматическое обновление настраивается через Параметры — Центр управления безопасностью — вкладка Внешнее содержимое — там надо поставить все флажки где не рекомендуется 🙂 Но это на страх и риск пользователей.
API Московской биржи предоставляет широкие возможности, которые гораздо шире чем описанные в данной статье. Это статья своеобразная шпаргалка для долгосрочного частного инвестора, который ведёт учёт в локальном файле на собственном компьютере.
Также хочу отметить, что я никак не связан с Московской биржей и использую ИСС Мосбиржи только в личных интересах.
Excel Набор требований для API javaScript только для интернета
Набор требований — это специальный набор требований, который включает функции, доступные только для ExcelApiOnline Excel в Интернете. API в этом наборе требований считаются производственными API (не подверженными незадокументированные поведенческие или структурные изменения) для Excel в Интернете приложения. ExcelApiOnline API считаются API предварительного просмотра для других платформ (Windows, Mac, iOS) и не могут поддерживаться ни одной из этих платформ.
ExcelApiOnline — это суперсет последнего набора требований с номерами.
ExcelApiOnline 1.1 это единственная версия API только для интернета. Это потому, Excel в Интернете всегда будет иметь одну версию, доступную пользователям, которая является последней версией.
В следующей таблице приводится краткий сводка API, а в следующей таблице списка API приводится подробный список текущих ExcelApiOnline API.
| Функциональная область | Описание | Соответствующие объекты |
|---|---|---|
| Связанные книги | Управление связями между книгами, включая поддержку обновления и разрыва ссылок на книги. | LinkedWorkbook, LinkedWorkbookCollection |
| Именуемые представления листа | Предоставляет программный контроль представлений таблицы для каждого пользователя. | NamedSheetView, NamedSheetViewCollection |
| События перемещения таблиц | Обнаружение перемещений таблиц в пределах коллекции, положения таблицы и источника изменения. | WorksheetCollection, WorksheetMovedEventArgs |
Рекомендуемое использование
Так как API поддерживаются только Excel в Интернете, надстройка должна проверить, поддерживается ли набор требований перед вызовом ExcelApiOnline этих API. Это позволяет избежать вызова API только для интернета на другой платформе.
После того как API находится в наборе требований к платформе, необходимо удалить или изменить isSetSupported проверку. Это позволит включить функцию надстройки на других платформах. При внесении этого изменения обязательно проверьте эту функцию на этих платформах.
Манифест не может ExcelApiOnline 1.1 указываться как требование активации. Это значение не является допустимым для использования в элементе Set.
Список API
В следующей таблице перечислены Excel API JavaScript, включенные в набор ExcelApiOnline требований. Полный список всех API Excel JavaScript (включая API и ранее выпущенные API), см. Excel ExcelApiOnline API JavaScript.
Наборы обязательных элементов API JavaScript для Excel
Наборы обязательных элементов — именованные группы элементов API. Надстройки Office с помощью наборов обязательных элементов, указанных в манифесте, или проверки в среде выполнения определяют, поддерживает ли приложение Office необходимые API. Дополнительные сведения см. в статье Версии Office и наборы обязательных элементов.
Доступность набора обязательных элементов
Надстройки Excel работают в нескольких версиях Office: во всех версиях для Windows начиная с Office 2016, Office для iPad, Office для Mac и Office в Интернете. В приведенной ниже таблице перечислены наборы обязательных элементов для Excel, клиентские приложения Office, поддерживающие каждый набор обязательных элементов, а также номера сборок или версий для этих приложений.
Сведения об использовании API предварительных версий см. в статье Предварительные версии API JavaScript для Excel.
| Набор обязательных элементов | Office для Windows (подключено к подписке на Microsoft 365) | Office для iPad (подключено к подписке на Microsoft 365) | Office для Mac (подключено к подписке на Microsoft 365) | Office в Интернете |
|---|---|---|---|---|
| Предварительная версия | Используйте последнюю версию Office, чтобы воспользоваться предварительными версиями API (может потребоваться присоединиться к программе предварительной оценки Office). | |||
| ExcelApiOnline | Н/Д | Н/Д | Н/Д | Последние (см. набор обязательных элементов, стр.) |
| ExcelApi 1.14 | Версия 2108 (сборка 14326.20508) или более поздней версии | 16.53 или более поздней версии | 16.52 или более поздней версии | Октябрь 2021 г. |
| ExcelApi 1.13 | Версия 2102 (сборка 13801.20738) или более поздняя | 16.50 или более поздняя | 16.50 или более поздняя | Июнь 2021 г. |
| ExcelApi 1.12 | Версия 2008 (сборка 13127.20408) или более поздняя | 16.40 или более поздняя | 16.40 или более поздняя | Сентябрь 2020 г. |
| ExcelApi 1.11 | Версия 2002 (сборка 12527.20470) или более поздняя | 16.35 или более поздняя | 16.33 или более поздняя | Май 2020 г. |
| ExcelApi 1.10 | Версия 1907 (сборка 11929.20306) или более поздняя | 16.0 или более поздняя | 16.30 или более поздняя версия | Октябрь 2019 г. |
| ExcelApi 1.9 | Версия 1903 (сборка 11425.20204) или более поздняя | 16.0 или более поздняя | 16.24 или более поздняя версия | Май 2019 г. |
| ExcelApi 1.8 | Версия 1808 (сборка 10730.20102) или более поздняя | 16.0 или более поздняя | 16.17 или более поздняя | Сентябрь 2018 г. |
| ExcelApi 1.7 | Версия 1801 (сборка 9001.2171) или более поздняя | 16.0 или более поздняя | 16.9 или более поздняя | Апрель 2018 г. |
| ExcelApi 1.6 | Версия 1704 (сборка 8201.2001) или более поздняя | 15.0 или более поздняя | Версия 15.36 или более поздняя | Апрель 2017 г. |
| ExcelApi 1.5 | Версия 1703 (сборка 8067.2070) или более поздняя | 15.0 или более поздняя | Версия 15.36 или более поздняя | Март 2017 г. |
| ExcelApi 1.4 | Версия 1701 (сборка 7870.2024) или более поздняя | 15.0 или более поздняя | Версия 15.36 или более поздняя | Январь 2017 г. |
| ExcelApi 1.3 | Версия 1608 (сборка 7369.2055) или выше | 15.0 или более поздняя | 15.27 или более поздняя | Сентябрь 2016 г. |
| ExcelApi 1.2 | Версия 1601 (сборка 6741.2088) или выше | 15.0 или более поздняя | 15.22 или более поздняя | Январь 2016 г. |
| ExcelApi 1.1 | Версия 1509 (сборка 4266.1001) или более поздняя | 15.0 или более поздняя | 15.20 или более поздняя | Январь 2016 г. |
Бессрочные версии Office поддерживают следующие наборы обязательных элементов:
Номера версий и сборок Office
Дополнительные сведения о номерах версий и сборок Office см. в следующих статьях:
Использование наборов обязательных элементов Excel в среде выполнения и в манифесте
В этом разделе предполагается, что вы знакомы с общими сведениями о наборах обязательных элементов, изложенными в статьях Версии и наборы обязательных элементов Office и Указание приложений и обязательных элементов API Office.
Наборы обязательных элементов — это именованные группы элементов API. Надстройка Office может проверить наличие обязательных элементов или использовать их наборы, указанные в манифесте, чтобы определить, поддерживает ли приложение Office API, необходимые данной надстройке.
Проверка поддержки наборов обязательных элементов в среде выполнения
В следующем примере кода показано, как определить, поддерживает ли приложение Office, в котором запускается надстройка, указанный набор обязательных элементов API.
Определение поддержки наборов обязательных элементов в манифесте
В следующем примере кода показан элемент Requirements в манифесте надстройки, где указано, что надстройка должна загружаться во всех клиентских приложениях Office, поддерживающих набор обязательных элементов ExcelApi версии 1.3 или выше.
Excel JavaScript API overview
An Excel add-in interacts with objects in Excel by using the Office JavaScript API, which includes two JavaScript object models:
Excel JavaScript API: These are the application-specific APIs for Excel. Introduced with Office 2016, the Excel JavaScript API provides strongly-typed objects that you can use to access worksheets, ranges, tables, charts, and more.
Common APIs: Introduced with Office 2013, the Common API can be used to access features such as UI, dialogs, and client settings that are common across multiple types of Office applications.
This section of the documentation focuses on the Excel JavaScript API, which you’ll use to develop the majority of functionality in add-ins that target Excel on the web or Excel 2016 or later. For information about the Common API, see Common JavaScript API object model.
Learn object model concepts
See Excel JavaScript object model in Office Add-ins for information about important object model concepts.
For hands-on experience using the Excel JavaScript API to access objects in Excel, complete the Excel add-in tutorial.
Learn API capabilities
Each major Excel API feature has an article or set of articles exploring what that feature can do and the relevant object model.
For detailed information about the Excel JavaScript API object model, see the Excel JavaScript API reference documentation.
Try out code samples in Script Lab
Use Script Lab to get started quickly with a collection of built-in samples that show how to complete tasks with the API. You can run the samples in Script Lab to instantly see the result in the task pane or worksheet, examine the samples to learn how the API works, and even use samples to prototype your own add-in.
API и автозапуск универсальных надстроек
В данной инструкции рассказывается, как программно управлять из макроса следующими надстройками:
Lookup: Подстановка данных из одной таблицы в другую
PastePictures: Вставка изображений в Excel
FillDocuments: Заполнение документов по шаблонам + рассылка почты
Parser: Парсер сайтов и файлов
Unification: объединение прайс-листов
Labels: Формирование этикеток по шаблонам
Наиболее частой задачей при автоматизации работы является запуск по расписанию.
Для этого можете использовать прикреплённый файл autorun_ExcelVBA_addins.xls
(запуск которого можно настроить в Планировщике Windows)
При запуске этого файла, появляется окно с обратным отсчётом времени, по истечении которого будут выполнены команды, заданные в настройках файла:
Пока идет отсчёт времени, успевайте нажать кнопку настроек, чтобы задать команды открытия файлов, запуска надстроек и т.п.
После загрузки надстройки, обычно требуется программно нажать кнопку запуска обработки.
Для этого используйте команду Запустить макрос из надстройки, указав в виде параметра название макроса.
Название макроса можно найти в инструкции по API соответствующей программы.
Например, для надстройки FillDocuments мы открываем инструкцию по API, и в ней видим название макроса для запуска: CreateAllDocuments
Для надстройки Lookup в аналогичной инструкции по API находим другое название макроса будет LookupData
Также к статье прикреплён файл Excel с макросами (ExcelVBA_addins_API.xls), содержащий 2 модуля с кодом:
Модуль modAPI скопируйте в свой файл с макросами
В нём находятся вспомогательные функции для работы с надстройками
ВАЖНО: в первой строке этого модуля надо изменить название надстройки:
Public Const ADDIN_NAME$ = «PastePictures»
В модуле modExamples находятся примеры использования функций API
На основании этого кода вы сможете написать свой макрос или скрипт VBS
