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

Обновлено: 06.07.2024

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

Если вам часто приходится выполнять одни и те же действия, эффективность вашей работы можно заметно увеличить при помощи макросов. Макросы – это небольшие программы на языке Visual Basic. Они могут помочь не только если требуется много раз выполнить сложное форматирование, но и при вставке объектов, печати выделенного текста и в других случаях.

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

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

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

Инструменты для работы с макросами находятся на вкладке Разработчик ленты, которая по умолчанию скрыта. Чтобы отобразить эту вкладку, нажмите кнопку Office, щелкните на кнопке Параметры Word, в открывшемся окне перейдите в раздел Основные и установите флажок Показывать вкладку «Разработчик» на ленте. В результате на ленте появится вкладка Разработчик (рис. 9.1).


Рис. 9.1. Вкладка Разработчик

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

1. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса или щелкните на кнопке


в строке состояния.

2. В появившемся окне Запись макроса (рис. 9.2) дайте макросу имя, а также введите его описание. Не пренебрегайте возможностью дать макросу описание, так как это очень поможет в дальнейшем, особенно если вы пользуетесь большим количеством макросов.


Рис. 9.2. Окно Запись макроса

3. Макрос можно запускать при помощи кнопки на панели быстрого доступа или сочетанием клавиш. Задать нужный способ можно в том же окне Запись макроса, нажав кнопку кнопке или клавишам в области Назначить макрос.

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


Рис. 9.3. Настройка панели быстрого доступа

2. Щелкните в левом списке на строке с именем макроса, нажмите кнопку Добавить.

3. Не закрывая диалоговое окно Параметры Word, щелкните на кнопке Изменить, расположенной под правым списком. Откроется окно Изменение кнопки, в котором можно выбрать значок для кнопки и ввести имя макроса (рис. 9.4). Обязательно задайте макросу понятное название.


Рис. 9.4. Окно Изменение кнопки

В результате кнопка запуска макроса появится на панели быстрого доступа (рис. 9.5).


Рис. 9.5. Кнопка запуска макроса на панели быстрого доступа

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

1. В диалоговом окне Запись макроса нажмите кнопку клавишам в области Назначить макрос.

2. Установите курсор в поле Новое сочетание клавиш открывшегося окна Настройка клавиатуры (рис. 9.6) и нажмите то сочетание, при помощи которого хотите вызывать макрос. Обычно удобно использовать сочетания клавиш F1–F12 или цифр с клавишами Alt и Ctrl.


Рис. 9.6. Окно Настройка клавиатуры

3. Когда нужное сочетание клавиш будет подобрано, нажмите кнопку Назначить, а затем – Закрыть.

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


а кнопка в строке состояния изменит свой вид на


Теперь можно выполнять нужные действия. Например, создадим макрос, с помощью которого можно будет щелчком кнопки мыши применить к выделенному участку текста гарнитуру Arial, полужирное начертание и размер шрифта 10.

Когда программа перейдет в режим записи макроса, сделайте следующее.

1. Нажмите сочетание клавиш Ctrl+D, чтобы открыть окно Шрифт.

2. В окне Шрифт выберите шрифт Arial, начертание – Полужирный, размер – 10 (рис. 9.7).


Рис. 9.7. Окно Шрифт

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

Выполнять макросы можно не только при помощи назначенного сочетания клавиш или кнопок на панели быстрого доступа, но и с помощю окна Макрос. Чтобы вызвать данное окно, щелкните на кнопке Макросы на вкладке Разработчик ленты или воспользуйтесь сочетанием клавиш Alt+F8.

В окне Макрос (рис. 9.8) представлен полный список макросов, доступных для выполнения. Чтобы применить один из них, выберите его из списка и нажмите кнопку Выполнить.


Рис. 9.8. Диалоговое окно Макрос

Окно Макрос дает возможность не только запускать макросы, но и управлять ими – изменять или удалять.

Поскольку все привычные пользователям команды Microsoft Word также являются макросами, их можно выполнять при помощи окна Макрос. Чтобы увидеть их полный перечень, нужно выбрать строку Команд Word в списке Макросы из (рис. 9.9).


Рис. 9.9. Команды Microsoft Word в окне Макрос

После записи рассмотренного выше макроса к шаблону Normal добавился следующий текст макроса:

Sub Arial_10_bold()

“ Arial_10_bold Macro

“ Arial 10 Полужирный

With Selection.Font

.Name = "Arial"

.Size = 10

.Bold = True

.Italic = False

.Underline = wdUnderlineNone

.UnderlineColor = wdColorAutomatic

.StrikeThrough = False

.DoubleStrikeThrough = False

.Outline = False

.Emboss = False

.Shadow = False

.Hidden = False

.SmallCaps = False

.AllCaps = False

.Color = wdColorAutomatic

.Engrave = False

.Superscript = False

.Subscript = False

.Spacing = 0

.Scaling = 100

.Position = 0

.Kerning = 0

.Animation = wdAnimationNone

End With

End Sub

Наверняка пользователям, незнакомым с программированием, такой текст покажется очень сложным, однако при ближайшем рассмотрении оказывается, что это простой набор параметров, которые установлены или не установлены. Установленный параметр обозначается словом True, а неустановленный – False.

Для записи макросов, как и для других команд, в Microsoft Word используется язык Visual Basic for Applications (VBA, Visual Basic для приложений). Макрос представляет собой набор команд и операторов на VBA. Каждая команда и действие в Microsoft Word представлены в виде строк формата VBA, процесс записи макроса тоже представляет собой формирование таких строк. Таким образом, пользователь имеет возможность изменить или создать макрос без повторного выполнения всей процедуры. Хотя макрос VBA можно создать в любом текстовом редакторе, не стоит пренебрегать возможностью записи макроса в Word. Макросу, созданному при помощи Microsoft Word, можно добавлять новые команды и функции, а также на таких макросах можно изучать язык VBA.

Макросы можно редактировать, используя специальную утилиту, которая входит в поставку Microsoft Office, – редактор Visual Basic (рис. 9.10).


Рис. 9.10. Окно редактора Visual Basic

Данная программа содержит возможности, которые позволяют работать с макросом: тестировать, отлаживать, запускать на выполнение. Используя этот редактор, можно добавлять, изменять и удалять объекты в макросах, создавать пользовательские диалоговые окна, отлаживать код программных процедур, просматривать и выбирать компоненты текущих проектов и библиотек, определять вид и поведение объектов макроса во время выполнения и выполнять многое другое.

Окно редактора Visual Basic можно открыть несколькими способами, например нажав кнопку Visual Basic на панели Разработчик.

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

1. Откройте окно Макрос щелчком на кнопке Макросы на вкладке Разработчик ленты.

2. В диалоговом окне Макрос выберите нужный макрос из списка.

4. В открывшемся окне Microsoft Visual Basic (см. рис. 9.10) будет показан исходный текст макроса, который доступен для редактирования.

5. Для экспорта файла выполните команду File > Export File (Файл > Экспорт файла) (рис. 9.11).


Рис. 9.11. Выполнение команды File > Export File (Файл > Экспорт файла) в меню Microsoft Visual Basic

6. В диалоговом окне экспорта файла укажите для него расширение BAS (рис. 9.12).


Рис. 9.12. Сохранение макроса с расширением BAS

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

1. Откройте окно Microsoft Visual Basic, щелкнув на кнопке Visual Basic на вкладке Разработчик на ленте или воспользовавшись сочетанием клавиш Alt+F11.

2. Для импорта файла выполните команду File > Import File (Файл > Импорт файла).

3. Выберите внешний макрос и откройте его.

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

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

1. Щелкните на кнопке Безопасность макросов в группе Код на вкладке Разработчик ленты.

2. В окне Центр управления безопасностью, открытом в разделе Параметры макросов (рис. 9.13), выберите один из четырех вариантов доверия:

· Отключить все макросы без уведомления – открываются только макросы, установленные в надежных расположениях (данную настройку можно задать в этом же окне в разделе Надежные расположения);

· Отключить все макросы с уведомлением – при открытии документа программа будет спрашивать, хотите ли вы запустить макрос;

· Отключить все макросы, кроме макросов с цифровой подписью – будут открываться документы, содержащие только те макросы, которые имеют цифровую подпись;

· Включить все макросы – все документы, содержащие макросы, будут открываться без запроса.


Рис. 9.13. Раздел Параметры макросов окна Центр управления безопасностью

Совет

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

Всем здравия!

Иногда при работе на компьютере необходимо нажимать последовательно несколько клавиш (причем, чем быстрее и "четче" это делаешь — тем лучше!). Например, это часто требуется в играх, при каких-то рутинных офисных задачах и пр.

Однако, всё можно упростить! Представьте, вы нажмёте только одну клавишу — а спец. программа за вас нажмет последовательность из 5÷10 клавиш, которую вы ей заранее укажите (причем, она может это сделать как очень быстро, так и с определенной паузой). Кстати, называют подобные "трюки" — макросами.

Не обгонишь, я быстрее нажму!

Не обгонишь, я быстрее нажму!

ускорение ПК

Создание макроса: нажимам 1 клавишу — получаем последовательность из 10!

Пошаговый пример: делаем макрос для игры

ШАГ 1 — открываем раздел "макрос"

ШАГ 1 — открываем раздел "макрос"

Далее нажать кнопку "Создать макрос" и дать ему имя (лучше использовать название игры или приложения, для которого макрос создается, чтобы вы по имени могли легко сориентировать к чему и зачем это. ).

ШАГ 2 — название макроса

ШАГ 2 — название макроса

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

Для этого нужно нажать по кнопке "Запись" , и указать: нужно ли запоминать нажатия мыши и клавиатуры (в своем примере я выбрал вариант "Записывать нажатия клавиш с клавиатуры" ).

ШАГ 3 — начать запись

ШАГ 3 — начать запись

После нажмите на клавиатуре последовательно всё клавиши, которые программа должна запомнить и записать! Учтите, что она запоминает даже паузы между нажатиями клавиш!

ШАГ 4 — нажимаем последовательность клавиш

нажимаем последовательность клавиш

Теперь нам нужно этот макрос (последовательность клавиш) установить на какую-нибудь реальную клавишу — т.е. когда мы нажмем на неё — он и сработает.

ШАГ 5 — присваиваем макросу клавишу

ШАГ 4 — присваиваем макросу клавишу

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

ШАГ 6 — запускаем макрос

Осталось только войти в нужную нам игру/приложение (для которого мы создали макрос), и нажать кнопку активации макроса — в моем случае "Z".

ШАГ 7 — испытания!

ШАГ 5 — испытания! // Скриншот из игры World of Warcraft

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

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

Какие утилиты можно порекомендовать для начинающих

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

BotMek

ШАГ 1 — открываем раздел "макрос"

BotMek: главное окно программы

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

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

  1. совместимость с любыми моделями мышек и клавиатур;
  2. рассчитана на новичка (спец. знаний не требуется);
  3. есть коллекция готовых макросов для популярных игр;
  4. позволяет пользоваться одновременно сразу неск. макросами;
  5. совместима с Windows 7/8/10 (работает "тихо" и не отвлекает различными окнами и напоминаниями. ).

TinyTask

TinyTask — микро-программа

TinyTask — совсем небольшая утилита (несколько килобайт веса), позволяющая записывать и воспроизводить активность реальной клавиатуры/мыши (т.е. являться на время их программным эмулятором).

Отлично подходит для решения и автоматизации рутинных задач.

Недостаток : есть неудобства при работе сразу с несколькими макросами (переключение не удобно).

Macros Effects: Макроскин (ME)

Macros Effects — скриншот главного окна

Macros Effects — скриншот главного окна

"Узко-спец." приложение для постановки макросов на практически любые виды мышек. Совместима с макросами, написанными в Oscar Editor в формате AMC.

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


Привет, Хабр! Недавно в нашем корпоративном блоге мы рассказали о выходе новой версии МойОфис 2021.02, в которой появились удобные инструменты для работы с формулами и математическими выражениями, а также со сводными таблицами.

Помимо этого, в состав релиза 2021.02 вошел программный отладчик макрокоманд. Он проверяет исполнение кода и помогает обнаружить ошибки синтаксиса. Сегодня мы продемонстрируем возможности работы с макросами в документах на примере текстового редактора «МойОфис Текст», а заодно коснемся темы создания надстроек, которые позволят расширить функциональные возможности редактора.

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

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

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

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

МойОфис выпускает несколько продуктов для работы с документами и коммуникациями, — как для коммерческих, так и для частных пользователей. И тем и другим доступны макрокоманды, с которыми можно работать прямо в документах. Напомним, что продукт «МойОфис Стандартный. Домашняя версия» доступен для некоммерческого использования, бесплатен и не содержит рекламы. Его можно скачать с нашего сайта, а также в магазинах приложений Windows Store и Mac App Store. А вот работать с надстройками смогут только коммерческие пользователи, которые приобрели «МойОфис Стандартный».

Для написания макросов и надстроек в МойОфис используется свободный скриптовый язык программирования Lua. Этот кросс-платформенный язык легок в освоении и обладает достаточно широкими возможностями. В настоящий момент в МойОфис реализована поддержка Lua версии 5.3.2.

Отметим, что во всемирно известном офисном ПО Microsoft Office для создания макрокоманд применяется другая технология — VBA (Visual Basic for Applications), специальная версия языка Visual Basic для автоматизации действий внутри документов прикладного ПО. Но мы, как производитель программных продуктов, в силу существующих лицензионных ограничений не можем использовать проприетарные технологии Microsoft. Если вы представляете организацию, которая находится в процессе миграции на российские решения, то тоже не сможете пользоваться таким инструментом.

Кроме того, конверторов из VBA в Lua не существует в принципе. Поэтому, если вам требуется работать с документами, которые содержат макросы и были ранее созданы в Microsoft Office, то вам придется переводить код макрокоманд на язык Lua. Мы понимаем, что это может быть проблемой для тех, кто переходит на отечественное ПО, и специально для наших покупателей предлагаем такие решения:

Центр компетенций «Хаб Знаний МойОфис» разработал методологию обучения основам Lua, которая позволяет быстро научиться созданию макросов в редакторах МойОфис. Первая публичная лекция по этой методологии состоится 14 октября 2021 года.

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

Для создания макросов на Lua вам точно понадобятся следующие материалы:

«Руководство программиста» — детальное описание методов и функций, которые реализованы в библиотеке MyOffice Document API и используются для работы с макросами и надстройками в редакторах.

Как писать макросы в МойОфис

Сейчас мы покажем, как происходит работа с макросами и надстройками. Для начала запускаем редактор макросов, который находится в меню «Инструменты» — «Редактирование макроса».


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


Рассмотрим простой пример

Для начала сделаем скрипт, который будет выводить в документ текстовую строку с фразой «Привет, Мир!». Для этого нам потребуется совершить несколько базовых действий. Сначала с помощью метода Document:getRange предоставим доступ ко всему документу как области данных:

Далее нужно определить позицию: в какую часть документа мы будем вставлять текст. В нашем случае — это конец документа. Определим значение переменной pos, которая будет отражать позицию в документе, и сделаем это с помощью метода Range:getEnd. Учтите, что этот метод возвращает позицию в конце фрагмента текстового документа, не включая последний символ paragraph mark. Если требуется определить позицию в начале документа, то пользуйтесь методом Range:getBegin.

Теперь воспользуемся методом Position:insertText и вставим строку с нужным нам текстом в определенную выше позицию в документе.

Наш первый макрос будет выглядеть следующим образом:



Как с помощью макросов в МойОфис посчитать число символов в документе

Попробуем сделать пример посложнее. Представим типовую задачу — нужно посчитать количество символов и слов в документе. Оставим от предыдущего примера переменные range и pos, они нам еще пригодятся.

Теперь с помощью метода text = range:extractText() преобразуем тело документа в одну текстовую строку. При работе с этим методом находящиеся внутри области изображения, таблицы и прочие подобные элементы документа игнорируются.

Перейдем к подсчету символов. Сделать это очень просто — нам нужно лишь определить длину строки, и для этого можно было бы воспользоваться простой функцией len(). Однако, в случае с кириллическими символами в строке, Lua будет считать длину строки неправильно, т.к. на каждый такой символ будет приходиться два бита, а не один, как в случае с латиницей или цифрами. К счастью, в Lua 5.3 появилась поддержка кодировки UTF-8, которой мы и воспользуемся. Введем переменную Allsymbols, которую определим с помощью функции utf8.len():

Неотъемлемой частью любого документа являются символы конца абзаца. Их может быть произвольное количество, и для правильного подсчета числа символов их надо удалить из результата, который мы получили выше с помощью utf8.len(). Но сначала нужно посчитать, сколько символов конца абзаца попало в строку при выгрузке с помощью метода extractText(). Для этого нам понадобится несколько строк кода. В них мы сперва определим значение переменной newLine равным нулю, а затем, с помощью простого цикла подсчитаем в выгруженном объеме текста общее количество всех символов конца абзаца. Используем для этого стандартную функцию string.gmatch, в аргументах которой указываем где искать (text) и что искать ("\n").

Теперь осталось лишь вычесть из общего числа символов AllSymbols число символов конца абзаца newLine. Введем новую переменную Symb:

Перейдем к подсчёту слов. С этим дело обстоит несколько сложнее — для определения числа слов нам потребуется воспользоваться функцией gsub (глобальная замена) и регулярным выражением.

Механика подсчета следующая: с помощью функции gsub мы определяем в строке слова, которые разделены пробелами. В этом нам помогает регулярное выражение %S+, с помощью которого определяются все элементы строки, не являющиеся пробелами. Так мы получаем все элементы, которые в строке отделены пробелами. И от функции gsub нам нужен не результат преобразования строки, а лишь число найденных элементов. Для этого мы определяем переменную Word как второй результат функции gsub и указываем это с помощью символа подчеркивания.

Следующая часть кода — создание таблицы, куда поместим найденные значения.

Для этого построим такую конструкцию: простую таблицу из двух строк и двух колонок (определяется переменной t_id), которая будет сопровождаться заголовком «Выводы»:

Теперь осталось сформировать таблицу и вывести в нее результат.

Для этого определим переменную tbl, которая с помощью методов document:getBlocks() и getTable() формирует таблицу в документе с заданными в переменной t_id значениями: 2 строки, 2 столбца, название «Some Table».

Далее нам остается только заполнить таблицу.

Для этого используем метод getCell для получения доступа к конкретной ячейке таблицы. Саму ячейку выбираем с помощью функции DocumentAPI.CellPosition, в аргументах которой начиная с нуля указываем номер строки и столбца. Затем, с помощью метода setText присваиваем ячейке текстовое значение типа «Текстовый», и выводим в нее нужную нам фразу. В случае с результатом вычислений, нам потребуется еще и преобразовать число в текст с помощью функции tostring.

В итоге получаем такой код макроса:

Вставляем код в соответствующее поле. При этом части кода маркируются разными цветами для лучшей читаемости. Назовем наш макрос «Символы».


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


Если в коде есть какие-то проблемы (в нашем случае была осознанно удалена буква m в слове document на 13 строке), то при отладке, в левом нижнем поле красным будет обозначена ошибка, а строка с ней помечена зелёной стрелкой.


Если мы устраним проблему и вернем букву m в слово docuent, а затем нажмем кнопку "Выполнить", то отладчик сообщит об успешном выполнении кода макроса:


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


Как запускать макросы из боковой панели редакторов МойОфис

Ещё один способ запуска скрипта в документе — это открытие панели запуска макросов. В поле под строкой «Поиск» будут перечислены все макросы данного документа.

Если навести курсор на строчку с желаемым макросом, появляются две дополнительных кнопки-символа — запуск и редактирование кода. Также запускать макрос можно двойным щелчком по названию.


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

Как писать надстройки в МойОфис

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

Файл регистрации надстройки является тестовым документом и должен называться Package.lua. Внутри него содержатся ключи и их значения. Некоторые ключи являются обязательными, другие — нет. Подробный перечень ключей, их описания и другие полезные материалы для разработки собственных модулей вы можете найти в «Руководстве программиста» на сайте МойОфис.

Файл сценария надстройки называется так, как указано в значении ключа commandsProvider файла регистрации, и включает в себя все команды управления надстройкой и описание функций. Команды будут отображаться в виде подпунктов в меню надстроек.

Осталось только создать файл лицензии LICENSE и поместить его в папку META-INF.


Теперь упаковываем всё это в Zip-архив и меняем расширение на .mox. Всё готово! Можем устанавливать.

Установка и запуск надстроек МойОфис

Процесс установки прост и понятен. Выбираем в меню «Надстройки» — «Управление надстройками». В появившемся окне нажимаем на единственную кнопку «Установить» и указываем нужный файл расширения.



Читаем и принимаем лицензионное соглашение. В случае отказа установка будет прервана.


Готово! Надстройка установлена и появилась в списке.


Тут же можно посмотреть информацию о ней, отключить ее или полностью удалить из приложения.


Запускается надстройка и выбираются команды также через раздел «Надстройки». После установки в нём появится название надстройки и список команд в выпадающем меню.


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


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

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

Нам интересны ваши впечатления от реализации функциональности макрокоманд в редакторах МойОфис. Пожалуйста, расскажите в комментариях, удобно ли пользоваться таким решением, корректно ли работает отладчик макрокоманд на ваших скриптах, и каких дополнительных возможностей вам не хватает в наших редакторах. Как вы думаете, какие макросы, в том числе созданные вами, могут быть полезны для продуктов МойОфис?

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

Гайд по макросам и их созданию

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

Содержание:
Цитата:
Часть 1: Основы макросов

1.1. Что такое макрос?
1.2. Как создать макрос?
1.3. Как использовать заклинания?

1.3.1. Использования заклинаний без переключения
1.3.2. Замечания об именах заклинаний и их уровнях

1.4. Как использовать предметы или тринкеты?
1.5. Множественные действия за один щелчок мышью
1.6. Назначение целей и выбор объектов
1.6.1. /targer, /targetexact
1.6.2. Другие команды для прицеливания

1.6.2.1. /assist
1.6.2.2. /crealtarget
1.6.2.3. /targetlasttarget
1.6.2.4. /targetlasttarget
1.6.2.5. /targetlastenemy, /targetlastfriend
1.6.2.6. /targetenemy, /targetfriend
1.6.2.7. /targetparty, /targetraid

1.7. Как управлять своим питомцем (pet)

1.7.1. /petattack
1.7.2. /petfollow
1.7.3. /petpassive, /petdefensive, /petaggressive
1.7.4. /petautocaston, /petautocastoff, /petautocasttoggle

1.9.1. Одевание предметов
1.9.2. Последовательности заклинаний и предметов
1.9.3. Случайные заклинания и предметы
1.9.4. Атака
1.9.5. Манипулирование панелью действий
1.9.6. Удаление баффов
1.9.7. Выход из форм
1.9.8. Прерывание заклинаний
1.9.9. Преждевременное прерывание макросов
1.9.10. Спешивание
1.9.11. Сохранение целей для последующих нужд
1.9.12. Симулирование нажатия клавиш

1.10. Продвинутые скрипты

1.10.1. Чего не могут скрипты
1.10.2. Что же такое скрипт?

Часть 2: опции для макросов

2.1. Что такое опции макроса?
2.2. Команды, допускающие опции
2.3. [target=unit]
2.4. Обзор синтаксиса

2.4.1. Общие опции синтаксиса
2.4.2. Синтаксис для условий
2.4.3. Пустые параметры
2.4.4. Пустые состояния
2.4.5. [target=] с параметрами единицы

2.5. Условные переходы

2.5.1. Полный список условий
2.5.2. help и harm
2.5.3. exists
2.5.4. dead
2.5.5. stance (form)
2.5.6. stealth
2.5.7. modifier (mod)

2.5.7.1. переменные modifier

2.5.8. button (btn)
2.5.9. equipped (worn)
2.5.10. channeling
2.5.11. actionbar (bar)
2.5.12. bonusbar
2.5.13. pet
2.5.14. combat
2.5.15. mounted, swimming, flying, indoors & outdoors
2.5.16. flyable
2.5.17. party и raid
2.5.18. group

2.6. Приложения для опций макросов

2.6.1. Использование фокуса
2.6.2. Разветвления макросов используя /click

Часть 3: Дополнительные сведения

3.1. Пользовательские иконки
3.2. Хранение макросов на нескольких компьютерах

Часть 4: Примеры макросов для классов

4.1 Druid [Смена форм и баланс][Feral][Restoration и General Utility]
4.2 Hunter [Pet related и Shoots][Melee,Traps и Tracks][Miscellaneous и Miscellaneous + Farming]
4.3 Mage [Combat][Polymorph, Conjuring, Food and drink][Other utility, Grouping and raiding]
4.4 Paladin
4.5 Priest
4.6 Rogue
4.7 Shaman
4.8 Warlock
4.9 Warrior

Часть 1
1.1. Что такое макрос?
Макрос это, попросту говоря, список консольных команд. Я уверен, что вы знакомы с некоторыми из них:

* /say (/s)
* /whisper (/w, /talk, /t)
* /emote (/e, /em, /me)
* /dance
* И для вас ПвП-игроков, я не могу забыть о /spit

AbNoR (04.02.2013),Blind Guard (26.05.2012),Bourbon Crow (23.10.2015),Erassa (17.05.2012),Lag (16.03.2012),Tragedy (10.04.2013),Тяжеловес (24.02.2012)

1.6.2. Другие команды для прицеливания
Вот краткий обзор других команд для прицеливания:
Цитата:
/assist
Сама по себе, команда /assist устанавливает целью цель вашей цели (путано, но надеюсь понятно). Если вы нацелены на меня, а я нацелен на Iriel, /assist переключит вашу цель на Iriel. Можно также указать имя цели или ID для команды /assist, чтобы сменить цель на то, куда нацелен указанный в параметрах объект:
Цитата:
/assist Cogwheel
Существует опция интерфейса, автоматически переключающая вас в режим атаки, после смены цели по /assist.
Цитата:
/cleartarget
Сбрасывает цель.
Цитата:
/targetlasttarget
Это команда возьмет целью вашу предыдущую цель. Если до этого у вас не было цель, ничего не произойдет.
Цитата:
/targetlastenemy, /targetlastfriend
Эти команды действуют похожим на команду /targetlasttarget образом, но выбирают целью последнего врага или последнюю дружественную цель.
Цитата:
/targetenemy, /targetfriend
Эти команды меняют цель на следующие по их типу. /targetenemy идентично нажатию кнопки TAB, а /targetfriend то же, что нажатие ctrl-TAB (при настройках клавиатуры по умолчанию). Можно также добавить параметр «1», который переключает цели в обратном порядке (как нажатие shift-TAB в случае команды /targetenemy 1)
Замечание: эти команды можно использовать в макросе только один раз.
Цитата:
/targetparty, /targetraid
Переключение целей по ближайшим членам рейда или партии. Как и /targetenemy, можно добавлять в параметры 1, чтобы обратить порядок переключений целей.

1.7. Как управлять своим питомцем (pet)
Как было рассказано в разделе об использовании заклинаний, можно использовать умения вашего питомца по их именам с помощью команды /cast. Однажды, Blizzard были вынуждены изменить имя умения элементаля у магов с Frost Nova на Freeze, так как невозможно было использовать ее в макросах. Каждый, у кого есть питомец, знает, что это далеко не исчерпывающий список возможностей управлять своим питомцем. К счастью, череда патчей с выходом Burning Crusade внесла целый ворох команд для управления питомцами:
Цитата:
/petattack
Посылает вашего питомца в бой на вашу текущую цель. Можно в параметрах указать имя цели или ее ID, и питомец станет атаковать эту цель.
Цитата:
/petfollow
Отдает приказ питомцу следовать за вами, отменяя атаку если есть необходимость.
Цитата:
/petpassive, /petdefensive, /petaggressive
Переключает режим реагирования у вашего питомца, по типу кнопок на его панели действий.
Цитата:
/petautocaston, /petautocastoff, /petautocasttoggle
Эти команды управляют автоматическим использованием умений у вашего питомца. Первая команда всегда включает авто-использование, вторая всегда выключает, третья – переключает. Пример:
Цитата:
/petautocasttoggle Torment

1.9. Другие консольные команды
Теперь, когда вы получили основной базис знаний, я хотел бы кратко рассмотреть другие консольные команды, доступные для ваших нужд. Некоторые из них, могут показаться несколько бессмысленными на первый взгляд, но когда вы скомбинируете их с макро-опциями описанных в Части 2, можно будет делать много интересных финтов.

1.9.2. Последовательности заклинаний и предметов
Множество раз вы будете использовать серии заклинаний или каких-то предметов в определенном порядке практически на каждом монстре, с которыми будете вести бой. Чтобы упростить работу, в нашем распоряжении есть команда /castsequence. /castsequence принимает список заклинаний и/или предметов, разделенные запятыми. Здесь используются те же правила что и при /cast и /use. Это значит, что вы можете чередовать комбинации названий заклинаний, имен предметов, ID предметов, ячеек сумок и инвентаря. Каждый раз, выполняя макрос, он активирует текущий предмет или заклинание. Если использование было удачным, последовательность переходит к следующей позиции. Вам нужно повторно активировать макрос чтобы использовать все заклинания в последовательности. Когда макрос достигнет последней позиции в списке, он начнет выполнять последовательность сначала. Пример:
Цитата:
/castsequence Immolate, Corruption, Curse of Agony, Siphon Life
Этот макрос может использовать варлоками в качестве открывающей атаки. Заметьте, если Immolate не сработает по какой-либо причине (нет маны, вне диапазона действия, вы заглушены и так далее), последовательность останется в этой точке. Из-за этого, вы не можете использовать /castsequence для спама подобного макроса:
Цитата:
/castsequence Overpower, Execute, Mortal Strike
Перед списком заклинаний, можно также указывать условие для сброса, начинающее последовательность до того как оно достигнет конца. Общий синтаксис для условий сброса следующий:
Цитата:
reset=n/target/combat/shift/alt/ctrl
Где n – число секунд. Вы можете указывать любое количество этих условий, разделенных косыми чертами «/». Секунды используются как таймаут для команды. Каждый раз во время выполнения последовательность сбрасывает таймер. Если макрос не был использован вами в течении заданного времени, последовательность начнется заново. Это очень важное отличие, так как таймер сброса невозможно использовать, чтобы подсчитать время кулдаунов. target сбрасывает последовательность при смене целей; combat – если вы выходите из режима боя; shift, alt и crtl – сбрасывают, если вы активируете макрос с зажатием одной из этих кнопок. Пример:
Цитата:
/castsequence reset=10/shift Spell 1, Other Spell, Some Item
Если использовать знак вопроса как иконку макроса, WoW автоматически будет изменять ее соответственно текущему элементы последовательности. Если перед /castsequence вставить команды /cast или /use, они будут конфликтовать и на данный момент нет способа обратить внимание WoW именно на последовательность.

1.9.3. Случайные заклинания и предметы
Одним из наиболее частых запросов на этом форуме – макрос использующий случайный маунт. Это очень просто, благодаря добавленных команд /castrandom и /userandom. Как и в случае /castsequence, /castrandom и /userandom использует в параметрах список заклинаний и/или предметов, разделенных запятыми и выбирает случайный элемент из списка при выполнении команды. Пример:
Цитата:
/castrandom Swift Green Mechanostrider, Black Battlestrider, Summon Dreadsteed
1.9.4. Атака
Есть две команды специально существующих для атаки по цели: /startattack и /stopattack, начинающий или прекращающих атаку. Команда /startattack также использует параметр в виде имени или ID для атаки заданной цели. Пример:
Цитата:
/startattack Cogwheel
ПРИМЕЧАНИЕ: команду /startattack можно использовать с каким-то из скилов рога, воина
Если нужен макрос, который ведет себя так же, как и умение Attack (т.е. переключающий атаку, а не только начинающий или прекращающий ее), можно делать это так:
Цитата:
/cast Attack

Читайте также: