В чем разница между скриптом и макросом?
Действительно, многие люди называют макросы скриптами и, наоборот. На самом деле скрипт управляет макросом, скрипт дает макросу больше возможностей. Дополнение imacros может воспроизводить и скрипты и макросы. Но макросы имеют расширение .iim, а скрипты имеют расширение .js. Код, написанный в макросе,не будет воспроизводится в скрипте, и, наоборот, код, написанный в скрипте, не воспроизводится в макросе. У каждого свой код. И макросы писать гораздо легче, чем скрипты. И еще вам отличие:
Код скрипта является языком программирования (Java Script). А код макроса- это не язык программирования, он только связан с языком разметки HTML.
Скрипт — кратких описаний действий, выполняемых системой.
Макрос — программный алгоритм действий, записанный пользователем.
Компью́терная — последовательность инструкций для решения задачи компьютером.
Разница между программой и скриптом размыта и несущественна. И Скрипт и программа написаны разработчиком.
Макрос отличается только тем, что он записан пользователем, подчас, не понимающим, что последовательность действий (алгоритм), записывается в виде программы.
Для пользователя это лишь совокупность действий: переместиться, открыть, сложить, раскрасить и т.д. Если посмотреть на результат его действий — код макроса, то там будет кусок программы или скрипта, как угодно, который записан самим компьютером, в виде программного кода запомнившим действия пользователя.
В чем разница между макросом и скриптом?
Разве это не просто набор инструкций, которые выполняются каким-то интерпретатором? (в отличие от полноценной программы, которая запускается (выполняется) в какой-то компьютерной системе?
В основном разница только в степени. Сценарий имеет тенденцию быть намного более формально определенным, с хорошо определенным языком сценариев позади него, в то время как макрос обычно является чем-то более простым и специальным. Макросы часто «записываются», сообщая программе «следи за всем, что я делаю», а затем выполняя действие, тогда как сценарии обычно вводятся в виде текста на языке сценариев.
Макросы бывают разных вкусов.
Первоначальным видом были макросы на ассемблере, где можно было назвать группу инструкций, и каждый раз, когда имя использовалось, инструкции заменяли имя.
C и C ++ также имеют макросы, которые работают таким образом.
Но, как и с большинством вещей в ИТ, зачем иметь один термин или одно значение, когда мы можем сделать вещи более запутанными? Поэтому в некоторых средах (я полагаю, начиная с MS Word) были введены «макросы», которые были записанным набором действий.
Итак, есть два вида макросов. Сначала подставляется имя, а затем компилируется. Второе обычно интерпретируется средой во время выполнения.
макрос
Обычно макросы используются в программных приложениях, и они возникли как инструмент для сопоставления ввода пользователя с другим набором вывода пользователя. Ключевым аспектом здесь является изменение пользовательского ввода / вывода на уровне приложений. Поскольку пользовательский ввод имеет тенденцию быть связанным с клавиатурой, мышью и другими устройствами. Выходные данные, измененные макросом, часто ранее записывались одним из этих устройств. Есть также макросы, которые могут быть написаны пользователем, но цель часто состоит в том, чтобы получить желаемый результат.
скрипт
Если макросы предназначены для вывода приложений, то сценарии предназначены для автоматизации приложений . Сценарии часто являются специфическим языком программирования приложения, который автоматизирует задачи для пользователя. Ключевым моментом здесь является роль пользователя как программиста и тот факт, что пользователи не являются программистами. Если вы классифицируете языки сценариев как те, которые не компилируются, анализируются и просты в использовании, то есть много языков, которые соответствуют этим требованиям. Я утверждаю, что языки сценариев являются наиболее простыми для пользователей приложений для автоматизации программного обеспечения с наименьшим количеством знаний программирования. Вот как они должны быть классифицированы как сценарии. Все, что требует специальных знаний за пределами области применения, является всего лишь инструментом программирования.
Различия между Office скриптами и макросами VBA
Office скрипты и макросы VBA имеют много общего. Они позволяют пользователям автоматизировать решения с помощью простого в использовании средства записи действий и изменять эти записи. Обе платформы предназначены для того, чтобы пользователи, которые не считают себя программистами, могли создавать небольшие программы в Excel.
Фундаментальным отличием является то, что макросы VBA разрабатываются для классических решений, а Office сценарии предназначены для безопасных облачных решений. В настоящее время Office сценарии поддерживаются только в Excel в Интернете.

В этой статье описываются основные различия между макросами VBA (а также VBA в целом) и Office скриптами. Так Office скрипты доступны только для Excel, это единственный рассматриваемый здесь сайт.
Платформа и экосистема
VBA поддерживается Excel на Windows Mac. Office сценарии поддерживаются Excel в Интернете.
Эти два решения были разработаны для соответствующих платформ. VBA может взаимодействовать с рабочим столом пользователя для подключения с помощью аналогичных технологий, таких как COM и OLE. Однако VBA не имеет удобного способа вызова в Интернете. Office скрипты используют универсальную среду выполнения для JavaScript. Это обеспечивает согласованное поведение и специальные возможности независимо от компьютера, используемого для выполнения скрипта. Они также могут совершать вызовы к другим веб-службам.
Поддержка скриптов для Excel на Windows
Кнопки сценариев работают в Excel на Windows и в Интернете. Они позволяют выполнять сценарий с кнопкой, которая находится на листе. Чтобы создать или изменить кнопку или скрипт, необходимо использовать веб-приложение.
Безопасность
Макросы VBA имеют тот же уровень безопасности, что и Excel. Это предоставляет им полный доступ к рабочему столу. Office скрипты имеют доступ только к книге, а не к компьютеру, на котором размещена книга. Кроме того, скрипты не могут совместно использовать маркеры проверки подлинности JavaScript. Это означает, что у скрипта нет ни маркеров вошедвшего пользователя, ни возможностей API для входа во внешнюю службу, поэтому он не может использовать существующие маркеры для выполнения внешних вызовов от имени пользователя.
У администраторов есть три варианта макросов VBA: разрешить все макросы в клиенте, не разрешать макросы в клиенте или разрешить только макросы со подписанными сертификатами. Отсутствие детализации затрудняет изоляцию одного недопустимого субъекта. В настоящее Office сценарии могут быть отключены для всего клиента, для всего клиента или для группы пользователей в клиенте. Администраторы также имеют контроль над тем, кто может делиться скриптами с другими пользователями и кто может использовать сценарии в Power Automate.
Покрытие
В настоящее время VBA предоставляет более полное Excel функций, особенно доступных на настольном клиенте. Office сценарии охватывают почти все сценарии для Excel в Интернете. Кроме того, по мере того, как новые функции будут доступны в Интернете, Office сценарии будут поддерживать их как для записи действий, так и для API JavaScript.
Office сценарии не поддерживают события Excel уровня. Скрипты выполняются только в том случае, если пользователь запускает их вручную или когда поток Power Automate вызывает скрипт.
Power Automate
Office скрипты можно выполнять через Power Automate. Книгу можно обновить с помощью запланированных или управляемых событиями потоков, что позволяет автоматизировать рабочие процессы, даже не открывая Excel. Это означает, что при условии, что книга хранится в OneDrive (и доступна для Power Automate), поток может выполнять ваши сценарии независимо от того, используете ли вы и ваша организация Excel настольный компьютер, Mac или веб-клиент.
VBA не имеет соединителя Power Automate. Все поддерживаемые сценарии VBA включают пользователя, который будет участвовать в выполнении макроса.
Попробуйте скрипты вызова из руководства по Power Automate, чтобы начать изучение Power Automate. Вы также можете просмотреть пример напоминаний автоматизированных задач, чтобы Office сценарии, подключенные к Teams с помощью Power Automate в реальном сценарии.