Что обеспечивает встроенный язык программирования макрокоманд

Макрос

Содержание

Макросы в прикладных программах

Во многих «офисных» продуктах (OpenOffice.org, Microsoft Office и др.), в графических программах (например, CorelDRAW) при обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д. Предоставляется интерфейс для записи новых и перезаписи существующих макросов.

Используя макросы, можно значительно (в десятки, а то и в сотни раз) увеличить эффективность работы с приложением. Помимо выполнения набора встроенных в приложение команд, макрос позволяет производить обработку внешних файлов, загрузку и передачу файлов и данных через интернет, чтение и изменение настроек операционной системы. В большинстве случаев макрорекордер (режим записи действий пользователя в виде макроса) выдаёт код, нуждающийся в доработке. Но, тем не менее, и такой макрос значительно сокращает время, требующееся на выполнение рутинных операций.

Корректный перевод термина с английского — «макрокоманда», слово же «макрос» получило распространение благодаря использованию в локализованных продуктах американской корпорации Microsoft.

К лучшим из существующих на сегодняшний день универсальным программам для создания макросов и автоматизации работы можно отнести линейки «Comfort Keys», «Robotask» и «Hot Keyboard». [источник не указан 569 дней] Каждая из данных программ обладает собственными преимуществами перед остальными. [уточнить] Говоря о специализированных программах данного направления, следует упомянуть об «AutoHook» для упрощения работы в «AutoCAD», причём наиболее функциональной является версия программы для «AutoCAD 2006», а не для более поздних версий (что проверено для версий «2007» и «2008», работающих с «AutoCAD»ом соответствующих годов выпуска).

Макросы в программировании

В языках ассемблера, а также в некоторых других языках программирования, макрос — символьное имя, заменяемое при обработке препроцессором на последовательность программных инструкций.

Для каждого интерпретатора (языков ассемблера) существует специальный синтаксис объявления и вызова макросов. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов.

Макросы в языке Лисп

Абстракции такого характера называют абстракциями проблемной области (domain abstraction), а определяемое ими расширение языка Лисп — встроенным языком (embedded language). Однако, с их использованием тоже связаны свои трудности и опасности — создаваемые в процессе вычислений формы часто трудно увидеть непосредственно из определения макроса или из формы его вызова. Синтаксис определения макроса выглядит так же, как синтаксис используемой при определении функций формы DEFUN :

Вызов макроса совпадает по форме с вызовом функции, но его вычисление отличается от вычисления вызова функции.

Поясним выполняемые действия. После этапа расширения макровызова значением тела макроса было:

На втором этапе эта программно созданная форма вычисляется обычным образом и её значение возвращается в качестве значения вызова макроса. В данном случае у возникшей формы есть побочный эффект.

Итак, макрос — это форма, которая во время вычисления заменяется на новую, обычно более сложную форму, которая затем вычисляется, но вычисления на втором этапе производится вне контекста макровызова, и поэтому статические связи из макроса не действуют.

В заключение следует отметить, что написание макросов (как и любых функций из области метапрограммирования) является существенно более сложной задачей, чем определение обычных функций, поскольку нужно точно представлять, что вычисляется на этапе расширения, а что на втором этапе. Для облегчения написания макросов в языке Лисп используются специальные средства:

Его можно было бы определить следующим образом:

Источник

Что обеспечивает встроенный язык программирования макрокоманд

Макросредства языка Ассемблер

Макросредства предназначены для облегчения написания программ на языке Ассемблер и для улучшения понимания исходного текста программы.

Основная идея. Повторяющийся фрагмент программы специальным образом описывается (макрос), именуется, а затем в нужных местах программы указывается ссылка на него. При создании объектного кода вместо ссылки подставляется сам фрагмент, т.е. происходит подстановка фрагмента вместо ссылки.

Транслятор ассемблера состоит из двух частей: макрогенератора и непосредственно транслятора. Транслятор при этом называют макроассеблером. Именно таким макроассемблером мы пользуемся в системе MASM ( macroassembler language ).

Обработка программы с использованием макросредств осуществляется транслятором в два этапа. На первом этапе работает макрогенератор, который производит замены для всех макросов, а на втором этапе уже преобразованный текст программы транслируется в объектный код.

Это описание макроса. Синтаксис макроопределения:

MACRO [формальные параметры]

Формальные параметры позволяют копировать макрос не в неизменном виде, а с изменениями. Те величины, которые необходимо будет изменить описываются формальными параметрами.

Пример 1 ; настройка сегмента данных

Пример 2 ; вывод строки на экран

Размещаться макроопределения могут :

1. В любом месте программы.

. Обязательно до первой ссылки на него.

2. В отдельном файле.

Чтобы в текст программы не включать лишние макроопределения, можно воспользоваться директивой

Директива указывает, какие макроопределения не должны включаться в текст программы.

purge outstr, initds

Замечание. Факт. пар-ры можно разделять запятыми или пробелами.

Формальные параметры макроопределения заменяются соответствующими фактическими параметрами макрокоманды.

. Число фактических параметров должно быть равно числу формальных параметров,

если фактических параметров больше, то лишние игнорируются

если формальных больше, считается что в качестве недостающих фактических указаны пустые тексты

Процесс замещения формальных параметров фактическими называется макроподстановкой. Результат макроподстановки (т.е. полученный в результате текст называется макрорасширением.

1) макрогенератор находит макроопределение с указанным именем

2) в его теле заменяет все формальные параметры фактическими

3) полученное макрорасширение подставляет в программу вместо макрокоманды

Пример. См. выше описание макроопределения OUTSTR

Сравнительный анализ процедур и макросредств

Повторяющиеся действия (фрагменты) в программе можно описать и как процедуру, и как макроопределение. При этом в обоих случаях повторяющийся участок кода описан только один раз, а обращаемся к нему с помощью одной команды (вызов процедуры или макрокоманда). Но.

После трансляции процедура так и останется описанной один раз, а тело макроопределения подставится во все места вызова и тем самым увеличит размер программы.

Но при обращении к процедуре

а) выполняется засылка параметров в регистры или стек,

б) запоминается адрес возврата

в) осуществляется переход,

г) по окончании работы процедуры восстанавливается адрес возврата,

д) очищаются регистры или стек и т.п.

Итак, при работе процедуры тратится время на переходы и передачу параметров во время выполнения программы.

. При замене макрокоманд на макрорасширения тоже тратится время, но это происходит на этапе трансляции, а не во время выполнения программы.

Поэтому в программах критических по времени следует применять макросредства, а если необходимо экономить память следует применять процедуры.

Если в повторяющемся участке кода много команд (т.е. большой фрагмент) лучше описать его как процедуру. Если же небольшую группу команд описать процедурой, то число вспомогательных команд по ее вызову и передаче параметров станет сравнимым с числом команд самой процедуры, ее время выполнения станет на много больше.

. Еще одно отличие использования макросредств и процедур заключается в том, что параметрами процедур могут быть только операнды команд, а параметрами макрокоманд могут быть любые последовательности символов, в том числе и сами команды.

Указывает границу параметра, чтобы выделить его из окружающего теста

Используется, если формальный параметр является частью некоторого идентификатора, тогда последовательность символов, которая является формальным параметром отделяют от остальной строки символом &

Пример 1. defmas macro type, len

mas&type d&type len dup (?)

defmas b,10 ; после макроподстановки получим masb db 10 dup (?)

Макрооператор & используется когда надо формальный параметр указать внутри строки.

Пример. Пусть для каждой строки матрицы происходит подсчет нулевых элементов, тогда необходимо будет вывести для каждой строки ответ.

outotv macro stroka

otvet db ‘&stroka содержит ‘

Источник

Что обеспечивает встроенный язык программирования макрокоманд

Работа пользователя с программными продуктами должна по возможности быть комфортной и осуществляться в соответствующей программно-технической среде (тип процессора, объем оперативной и внешней памяти, платформа сетевой и локальной операционной системы и др.).

Для работы пользователя большое значение имеет пользовательский интерфейс (вид, размер и местоположение основного экрана, функции обработки, доступные через систему меню, панели инструментов и т.п.). Как правило, интерфейс прикладных программных продуктов строится по типу графического, ориентированного на среду Windows (или Macintosh) интерфейса с развитыми элементами управления: командные кнопки, выпадающие меню, переключатели и т.п.

Программные продукты должны гарантировать надежную и безопасную работу как для компьютера, так и для информационной системы пользователя (сохранность устройств компьютера, программного обеспечения, хранимых данных). В значительной степени это достигается наличием в составе программного продукта контекстно-зависимой помощи и обучающих систем, демоверсий, раскрывающих функциональные возможности и технологию работы программного продукта, специальных программных решений по обеспечению сохранности программ и данных, антивирусной защиты и др.

В состав АРМ входят и средства конфигурирования программно-технического комплекса, которые перенастраивают АРМ с учетом технических характеристик средств вычислительной техники, состава основных и вспомогательных функций обработки. Современные программные продукты включают специальный программный модуль или команды в составе главного меню для настройки среды и оптимизации работы программных продуктов.

Такая настройка выполняется, как правило, квалифицированным программистом, и изменение условий установки потребует реинсталляции программного продукта.

Для повышения эффективности работы конечного пользователя предусматриваются средства оперативного конфигурирования, включающие:

Так, для пакетов бухгалтерского учета предлагается набор инструментальных средств следующего вида:

ППП Microsoft Office можно с полным основанием считать интегрированным, так как его характеризуют:

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

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

Каждый программный компонент интегрированного пакета Microsoft Office обеспечивает удобный инструментарий настройки среды работы конечного пользователя.

Состав инструментов настройки связан с основами построения и функциональными возможностями программных продуктов. Базовые понятия, используемые текстовым редактором Word6.0 (рис. 19.1) и электронной таблицей Excel 5.0 (рис. 19.2), обусловливают соответствующие средства их настройки (табл. 19.1).

Все настраиваемые параметры можно разделить на общие и локальные.

Общие параметры установки действуют до очередной переустановки и используются в работе со многими документами; их хранение осуществляется либо в файле конфигурации, либо в определенном шаблоне (автошаблоне) документов.

Локальные параметры связаны с каждым документом в отдельности; они задаются выбором параметров (опций) выполнения команд главного меню.

Рис.19.1. Основные параметры настройки среды Word 6.0

Таблица 19.1. Основные параметры настройки среды конечного пользователя

Состав команд главного меню Есть Есть Состав панелей инструментов Есть Есть «Горячие» клавиши (клавиши сокращения) Есть ограничено Внешний вид экрана Есть Есть Общие опции Есть Есть Установка параметра команд «по умолчанию» Есть Нет Элементы автотекста Есть Нет Стили оформления Есть ограничено Шаблоны Есть Есть Макросы Есть Есть Имя (идентификатор) автора документа Есть Есть Место сохранения документов ( каталог) Есть Есть Способ хранения (автосохранение, резервное копирование) Есть ограничено Вид документа Есть диспетчер видов Орфографическая правка Есть Есть Вид формул ( ссылок) Нет Есть Характер вычислений Нет Есть Внешние ссылки Есть Есть Параметры печати Есть Есть

Каждой вкладке соответствует набор задаваемых опций с командами меню и информацией документа (рис. 19.3).

В Excel 5.0 команда СЕРВИС, Дополнения обеспечивает оперативный выбор для использования дополнений (из числа инсталлированных или созданных пользователем). Чем меньше ресурсы компьютера, тем строже подходят к загрузке по мере необходимости набора дополнений для текущей работы (табл. 19.2).

Рис. 19.2. Основные параметры настройки среды Excel 5.0

Рис. 19.3. Диалоговое окно команды СЕРВИС, Опции

Таблица 19.2. Состав стандартных дополнений Excel 5.0

Финансовые, инженерные функции, инструменты статического и инженерного анализа

Автоматическое сохранение рабочих книг

Функции и макросы для конвертирования данных внешних источников с помощью драйверов ODBC

Подключение системы Microsoft Query для запросов на данные внешних баз данных и таблиц

Печать отчетов-видов и отчетов-сценариев

Работа с шаблоном рабочей книги Слайд- Шоу для создания слайд-шоу из рабочих листов и диаграмм Microsoft Excel

Комплекс математического обеспечения задач типа » что-если» для создания сценариев, подбора аргумента по значению функции, решения задач математического программирования

Подготовка и сохранение внешнего представления текущего окна для вывода данных в различных форматах

Команды СЕРВИС, Параметры обеспечивает настройку текущих параметров работы с рабочими книгами (рис.19.4).

Рис. 19.4. Диалоговое окно команды СЕРВИС, Параметры

НАСТРОЙКА ГЛАВНОГО МЕНЮ

Это же диалоговое окно используется для:

Для изменения состава и назначения команд выпадающего меню пунктов главного меню в диалоговом окне (см. рис. 19.5) в списке Изменить меню сначала выбирается имя соответствующего пункта главного меню. Для добавления нового подпункта в поле «Где в меню» указывается местоположение: авто, вверху или внизу. В списке Категория или Команды выбирается соответствующее назначение подпункта, а в поле «Имя в меню» вводится название подпункта.

Примечание. Для назначения клавиши быстрого доступа к меню через клавиатуру указывается амперсанд (&) перед выбранным для этого символом.

Рис. 19.5. Диалоговое окно «Настройка» Word 6.0, вкладка Меню

Кнопка удаляет указанную команду, макрокоманду, шрифт, элемент автотекста или стиль из выбранного меню.

Кнопка восстанавливает исходное состояние всех меню и строк меню.

Таким образом, отдельному пункту меню или подпункту выпадающего меню можно поставить в соответствие:

Рис.19.6. Диалоговое окно для настройки пункта главного меню

Для сохранения модифицированного главного меню в поле «Сохранить в» указывается имя шаблона документа и осуществляется его сохранение. Данное меню будет доступ но при работе с документами, созданными на базе этого шаблона.

В Excel 5.0 при нахождении на листе типа программный модуль доступна команда СЕРВИС, Редактор меню, которая обеспечивает вывод диалогового окна «Редактор меню».

Пунктам меню, подменю или командам приписывается действие созданных пользователем и определенных в текущей рабочей книге макросов и процедур на языке Visual Basic (см. дальше). Для этого в списке указывается требуемый макрос.

Если рабочую книгу сохранить как шаблон, то новые рабочие книги, созданные на ее основе, будут иметь готовые настроенные меню.

НАСТРОЙКА ПАНЕЛЕЙ ИНСТРУМЕНТОВ

Панели инструментов могут располагаться в любом месте окна приложения или вдоль границ рабочего пространства. Их настраивают, удаляя или добавляя кнопки, изменяя внешний вид и функции обработки, вызываемые на выполнение нажатием кнопки. Различают встроенные панели инструментов и панели инструментов, создаваемые пользователями.

Рис. 19.8. Диалоговое окно для выбора панелей инструментов

Рис. 19.9. Диалоговое окно настройки панели инструментов

Кнопкам панели можно назначить макросы или процедуры, запускаемые при нажатии на них. Для этого в процессе настройки устанавливают курсор на соответствующей кнопке, нажимают правую кнопку мыши для вызова контекстного меню команд, в котором выбирается команда Назначить макрос.

Также редактируют значки, изображенные на поверхности любой кнопки: команда контекстного менюПравить значок кнопки.

Изображение значка выделенной кнопки редактируют, предварительно выбрав цвет, с помощью щелчков левой кнопки мыши, а также стирают изображение ластиком, смещают изображение значка кнопки на одну позицию в любом из четырех направлений (кнопки со стрелкой).

Рис. 19.12. Диалоговое окно для определения нестандартной панели

ИСПОЛЬЗОВАНИЕ «ГОРЯЧИХ» КЛАВИШ

«Горячие » клавиши, или клавиши сокращения используют для ускорения операции форматирования и редактирования фрагментов документа, перемещения по документу, работы с окнами, командами меню, для запуска макросов на выполнение и др.

Рис. 19.13. Диалоговое окно команды СЕРВИС, Настройка

Выполненные назначения сохраняются в определенном шаблоне документа.

МАКРОПРОГРАММИРОВАНИЕ

Что такое макропрограммирование

К классу макрокоманд относят создание и применение встроенных процедур, встроенных (внутренних, built-in) функций.

Макрокоманды пакета Microsoft Office делят на две категории:

Клавишные макрокоманды автоматически отображаются в инструкции языка программирования. Макрокоманды можно сохранять, редактировать, копировать и вызывать на выполнения по имени либо с помощью специальных клавиш, кнопок панели инструментов, а также команд меню, элементов управления диалоговых окон.

Клавишные макрокомандыWord 6.0

Для начала записи клавишных макрокоманд следует выполнить команду СЕРВИС, Макрокоманда и нажать кнопку либо щелкнуть на указателе ЗАП в строке состояния два раза левой кнопкой мыши. Появляется диалоговое окно «Запись макрокоманды» (рис. 19.14), которое используется для указания параметров макрокоманды.

Рис. 19.14. Диалоговое окно >

В зависимости от указания пользователя сферой действия новой макрокоманды являются:

При создании макрокоманды можно указать способ вызова макрокоманды на выполнение:

Для способа вызова клавишей в диалоговом окне «Настройка» на вкладке Клавиатура указывается в окне «Новая клавиша» комбинация клавиш (, или плюс комбинация цифровых или алфавитных клавиш) для вызова макрокоманды. Текстовая кнопка производит назначение.

После выбора способа вызова появляется панель Запись макрокоманды. Панель содержит две кнопки (слева направо):

Рис. 19.15. Панель инструментов Запись макрокоманды

— завершает запись макрокоманды;

— приостанавливает запись макрокоманды.

Пример 19.3. Клавишная макрокоманда выполняет следующие стандартные установки в меню ФОРМАТ для выделенного абзаца при нажатии на кнопку панели с именем А1:

Для проверки правильности действий следует выделить абзац и нажать кнопку макрокоманды.

Макрокоманды на языке WordBasic

Рис.19.16. Панель инструментов Макро

Используются следующие кнопки (слева направо):

— позволяет просматривать и переходить к активной макрокоманде;

— запись новой макрокоманды;

— продолжить запись макрокоманды, начиная с позиции, на которой установлен курсор;

— выполнить активную макрокоманду;

— пошагово выполнить активную макрокоманду;

— продолжить выполнение остановленной макрокоманды;

— завершить выполнение макрокоманды;

— выполнить активную макрокоманду, останавливаясь перед каждой инструкцией и подсвечивая ее;

— выполнить активную макрокоманду, останавливаясь перед каждой следующей инструкцией в основном теле макрокоманды и подсвечивая ее. Выполнение подпрограмм не прерывается;

— вывод на экран диалога «Переменные макрокоманды», с помощью которого можно просмотреть и изменить значения всех переменных остановленной макрокоманды;

— вставить или удалить инструкцию REM в выделенных строках окна редактирования макрокоманд;

— работу с макрокомандами, в том числе создание новых макрокоманд, выполнение существующих и т.д;

— запуск или переключение в режим Редактора диалогов.

Более подробно о программировании см. подразд. 19.2 и сведения о макропрограммах Excel 5.0.

Пример 19.4. Текст программы для макрокоманды А1:

Клавишные и языковые макрокоманды сохраняются в определенном шаблоне документов. С помощью команды ФАЙЛ, Шаблоны или СЕРВИС, Макрокоманда вызывается диалоговое окно ╚Организатор╩, которое обеспечивает копирование, переименование и удаление макрокоманд на уровне шаблонов документов.

Макропрограммирование

Макропрограммирование в Excel 5.0 также осуществляется путем создания макросов (макрокоманд) двух видов:

Группа языковых макрокоманд подробно рассматривается в подразд. 19.2. Рассмотрим основы работы с клавишными макросами.

Для записи нового клавишного макроса выполняется команда СЕРВИС, Запись макроса, выбирается вариант Записать новый макрос. Макрос записывают с использованием абсолютных (точные адреса ячеек в стиле А1) или относительных ссылок на ячейки таблицы.

После указания вида записи появляется диалоговое окно «Запись макроса» (рис. 19.17), в котором указано:

Рис.19.17 Диалоговое окно «Запись макроса»

краткое описание создаваемого макроса.

Текстовая кнопка вызывает диалоговое окно для установки параметров:

Другими средствами настройки можно связать нажатие кнопки на панели инструментов с запуском макроса (см. выше). Любому рисованному объекту на рабочем листе также можно приписать запуск макроса с помощью команды контекстного меню Назначить макрос.

После задания параметров и нажатия клавиши на экран выводится панель инструментов Остановка записи, которая останавливает запись макроса. Далее выполняются действия для записи в макросе.

Для запуска макроса через команду СЕРВИС, Макрос вызывают аналогичное диалоговое окно, с помощью которого выполняют, модифицируют или удаляют выделенный макрос.

Команда ВСТАВКА, Макрос вставляет в рабочую книгу под управлением пользователя:

ШАБЛОНЫ ДОКУМЕНТОВ

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

Любой документ строится на базе выбранного шаблона, поэтому при работе с документом доступны все возможности шаблона.

Шаблоны документов создаются различными методами.

Шаблон из элементов других шаблонов. Вариант состоит в максимальном заимствовании элементов других шаблонов. С помощью команды ФАЙЛ, Шаблоны кнопка вызывает диалоговое окно для выполнения поэлементного формирования шаблонов (рис. 19.18).

Рис. 19.18. Диалоговое окно «Организатор»

Для элемента определенного типа выбирается соответствующая вкладка, на которой устанавливают файл-источник элемента шаблона и файл-приемник, выполняется копирование.

Это же диалоговое окно позволяет удалить неактуальные элементы шаблона или переименовать их.

Шаблон рабочих книг Excel 5.0

Шаблон рабочей книги содержит параметры, соответствующие настройке в команде СЕРВИС, Параметры:

Рабочие книги могут включать и отдельные листы, созданные на основе шаблонов. Для этого книга, на основе которой создан шаблон, содержит только один лист, и сохраняется в стартовом каталоге. Таким образом можно построить шаблоны диаграмм, диалоговых окон, макросов.

Для включения нового листа на базе автошаблона выполняются следующие действия:

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что нужно чтобы учиться на программиста
  • Что нужно чтобы устроиться работать программистом
  • Что нужно чтобы устроиться программистом
  • Что нужно чтобы устроиться на работу программистом
  • Что нужно чтобы установить windows 11

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии