Поделиться через


Различия между сценариями Office и макросами VBA

Сценарии Office и макросы VBA имеют много общего. Они позволяют пользователям автоматизировать решения с помощью простого в использовании средства записи действий и позволяют редактировать эти записи. Обе платформы предназначены для того, чтобы люди, которые не считают себя программистами, создавать небольшие программы в Excel.

Основное отличие заключается в том, что макросы VBA разрабатываются для классических решений, а сценарии Office предназначены для безопасных кроссплатформенных облачных решений.

Четырехквадрантная схема, показывающая области фокуса для различных решений расширяемости Office. Скрипты Office и макросы VBA предназначены для того, чтобы помочь конечным пользователям создавать решения. Скрипты Office предназначены для кроссплатформенного взаимодействия и совместной работы, тогда как VBA — для настольных компьютеров.

В этой статье описаны main различия между макросами VBA (а также VBA в целом) и скриптами Office. Так как сценарии Office доступны только для Excel, это единственный узел, который обсуждается здесь.

Платформа и экосистема

В следующей таблице показано, какие функции поддерживаются платформами и продуктами.

Excel в Интернете Excel для Windows Excel для Mac Excel для iOS Другие продукты Office Power Automate
Сценарии Office Да Да Да Нет Нет Да
Средство записи действий сценариев Office Да Да Да Нет Нет Нет
Макросы VBA Нет Да Да Нет Да Нет
Надстройки Office Да Да Да Да Да Нет
Надстройки COM Нет Да Нет Нет Да Нет

VBA предназначен для настольных компьютеров. VBA может взаимодействовать с рабочим столом пользователя для подключения к аналогичным технологиям, таким как COM и OLE. Тем не менее, VBA не имеет удобного способа обратиться в Интернет. В сценариях Office используется универсальная среда выполнения для JavaScript. Это обеспечивает согласованное поведение и доступность независимо от компьютера, используемого для выполнения скрипта. Они также могут совершать вызовы к ограниченному набору веб-служб.

Пользователям требуется корпоративная или учебная лицензия для использования или создания сценариев Office. Полный список поддерживаемых лицензий см. в разделе Поддержка платформы. VBA встроен в классические версии Excel и не требует специального лицензирования.

Безопасность

Макросы VBA имеют тот же зазор безопасности, что и Excel. Это дает им полный доступ к рабочему столу. Скрипты Office имеют доступ только к книге, но не к компьютеру, на котором она размещена. Кроме того, невозможно предоставить общий доступ к маркерам проверки подлинности JavaScript с помощью скриптов. Это означает, что скрипт не имеет ни маркеров вошедшего пользователя, ни возможностей API для входа во внешнюю службу, поэтому он не может использовать существующие маркеры для выполнения внешних вызовов от имени пользователя.

У администраторов есть три варианта макросов VBA: разрешить все макросы в клиенте, запретить макросы в клиенте или разрешить только макросы с подписанными сертификатами. Это отсутствие детализации затрудняет изоляцию одного плохого субъекта. В настоящее время сценарии Office могут быть отключены для всего клиента, в для всего клиента или для группы пользователей в клиенте. Администраторы также имеют контроль над тем, кто может предоставлять общий доступ к скриптам другим пользователям и кто может использовать скрипты в Power Automate.

Охват

В настоящее время VBA предлагает более полный охват функций Excel, особенно тех, которые доступны в классическом клиенте. Сценарии Office охватывают почти все сценарии для Excel в Интернете. Кроме того, по мере дебюта новых функций в Интернете скрипты Office будут поддерживать их как для API-интерфейсов Action Recorder, так и для API JavaScript.

Сценарии Office не поддерживают события уровня Excel. Скрипты выполняются только в том случае, если пользователь запускает их вручную или когда поток Power Automate вызывает скрипт.

Power Automate

У VBA нет соединителя Power Automate. Все поддерживаемые сценарии VBA включают пользователя, который участвует в выполнении макроса.

Сценарии Office можно запускать с помощью Power Automate. Книгу можно обновить с помощью запланированных или управляемых событиями потоков, что позволяет автоматизировать рабочие процессы, даже не открывая Excel. Ознакомьтесь с руководством по обновлению электронной таблицы из потока Power Automate , чтобы начать изучение Power Automate. Вы также можете проверка пример напоминаний об автоматических задачах, чтобы увидеть сценарии Office, подключенные к Teams через Power Automate в реальном сценарии.

См. также