Статьи из блога
Автоматическая запись макроса
Меня часто спрашивают в письмах, как создаются макросы с помощью редактора Word и как использовать коды макросов, которые я публикую в заметках.
В ранних записях я подробно описывал необходимый порядок действий, чтобы воспользоваться приводимыми в заметках макросами. В последнее время эта практика мною не поддерживается по разным причинам.
Чтобы не повторять в каждом совете последовательность шагов по созданию макросов, открытию редактора Visual Basic, назначении макросам сочетаний клавиш или размещении кнопок макросов на панелях инструментов, я решил написать несколько заметок на эту тему. Первая заметка описывает процесс автоматической записи макросов с помощью макрорекордера от редактора Word.
Автоматическая запись макросов в редакторе Word удобна тем, что пользователь, не вникая в программирование, может достаточно быстро и просто записать свои часто выполняемые действия и затем вызывать получившийся макрос столько раз, сколько в нем будет необходимость.
Для редактора Word 2003
- В меню Сервис наведите указатель мыши на команду Макрос и в раскрывшемся подменю выберите команду Начать запись. Откроется диалоговое окно Запись макроса:
- В поле Имя макроса введите наименование для вашего макроса.
Во избежание различных ситуаций с неверно отображаемыми именами макросов, записанных кириллицей, рекомендуется давать имена макросам либо английскими терминами, либо записывать имена макросов латиницей. Кроме того, имя макроса не должно содержать в себе пробелы, знаки препинания, и не должно начинаться с цифры.
- В этом же окне вы можете назначить для макроса кнопку на панели инструментов или сочетание клавиш, нажав соответствующую кнопку в группе Назначить макрос.
- Чтобы обеспечить доступность макроса в любом документе редактора Word, в поле Макрос доступен для выберите из списка строку Всех документов (Normal.dot), если у вас в этом поле выбрана другая строка.
- В поле Описание можно ввести любой текст, описывающий назначение записываемого вами макроса.
- Нажмите кнопку ОК и на экране появится небольшая панель инструментов с кнопками управления записью макроса:
С этого момента все ваши действия в редакторе Word записываются в макрос. Вы можете приостановить запись на время, если нажмете кнопку Пауза. Для продолжения записи повторно нажмите эту же кнопку. Если вы хотите закончить запись макроса нажмите кнопку Остановить запись.
- Выполните необходимые действия, которые должны быть записаны в макрос.
Для редактора Word 2007
- Перейдите на вкладку ленты Разработчик. Если этой вкладки на вашей ленте нет, откройте окно Параметры Word и на вкладке Основные установите флажок на параметре Показывать вкладку «Разработчик» на ленте.
- На вкладке Разработчик в группе команд Код нажмите кнопку Начать запись. Откроется диалоговое окно Запись макроса, как на первом рисунке.
- Выполните шаги 2-7, описанные выше для версии редактора Word 2003.
Вы можете остановить запись макроса используя управляющие кнопки в строке состояния редактора: в ней будет отображаться набольшая кнопка, нажатие на которую равнозначно нажатию кнопки Остановить запись в группе команд Код.
Метки: запись макроса | макросы
Просмотров: 60306
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 полезных заметок о колонтитулах
- 3 способа очистки списка недавно открытых документов
- Microsoft Office: популярные команды на одной вкладке
- SQL для начинающих: изучите SQL онлайн за 9 часов
- Word 2007: полотно, рисунки, линии
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение всех открытых документов
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Белый текст на синем фоне: ностальгия по DOS
- Быстрая смена ориентации страниц документа
- Быстрое выделение идущих рядом слов
- Быстрое изменение стиля форматирования текста
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрое создание списков в документе
- Быстрый ввод текста с помощью команды =rand()
- Быстрый доступ к диалоговому окну Параметры страницы
- Быстрый поиск форматированного текста
Комментариев: 19
В Word 2007 при записи макроса команды на ленте не записываются в макрос. Как быть?
Люба, не совсем ясно, что вы делаете. Какие именно команды?
В документе Word 2007 вставлена диаграмма Excel, снизу диаграммы находится таблица с данными для диаграммы. Пыталась записать в макрос следующие действия
- выделить в таблице ячейки с данными
- копировать
- выделить диаграмму
- Работа с диаграммами - Конструктор - Изменить данные
- установить курсор в нужную ячейку
- вставить
- закрыть Excel
Начиная с команды "Работа с диаграммами - Конструктор - Изменить данные"
ничего в макрос не записалось.
я спрашивала письмом, но ответа не получила - спрошу здесь. Периодически мне поступают тексты с одинаковыми ошибками (от каждого исполнителя свой набор), под каждого я записала макрос. записывала именно так, как в этой статье; а записываемые действия - нажатие контрол+h и введение чего менять - на что. при этом некоторые регулярные выражения нужно сделать жирным написанием - в нижней строке замены добавляю контрол+b. При запуске макроса вносятся все изменения, кроме выделения жирным (офис-2003). В чем проблема?
mara, извините, если не ответил (не помню вашего письма,увы...), стараюсь отвечать всем, но возможны и задержки.
Что касается вашего вопроса, то если вам нужно применить к какому-либо искомому фрагменту текста полужирное начертание, то в поле "ЗАменить" нужно использовать формат шрифта или стиль (кнопка Формат - команда Шрифт или Стиль). Поле будет иметь такой вид примерно: http://clip2net.com/page/m0/257735
Присоединяюсь к вопросу marы. Ссылка, которую Вы указали, к сожалению, указывает на страничку с ошибкой. У меня приблизительно та же проблема. Мне в ТВ-программе нужно выделить полужирным время. Записываю макрос: вызываю окно замены; найти: ^#^#.^#^# (любые 4 цифры, разделённые точкой); заменить: ^& ctrl-B (искомый текст полужирный); заменить всё; остановка записи. Этот макрос почему-то не хочет работать. Подскажите, пожалуйста, в чём ошибка.
Елена, поскольку все операции поиска и замены как правило индивидуальны и зависят от реального текста, то приведите пример (разместите где-нибудь ваш документ и дайте на него ссылку).
Но в вашем случае я не использовал макрос и у меня все получилось как надо:
в поле Найти я ввел то же, что и вы: ^#^#.^#^#
в поле Заменить я ввел символ искомого текста: ^&
далее для поля Заменить я выбрал формат Шрифт: полужирный (через кнопку Формат - Шрифт).
Все нашлось и заменилось.
Если же надо использовать именно макрос, то в автоматическом режиме записать его с нужной функцией выделения найденного текста полужирным начертанием не удастся. Это нужно вручную прописывать:
Спасибо, Антон! Это то, что нужно.
Один только маленький вопросик. Извините уж за бестолковость. А как назначить этому макросу сочетание клавиш? В вашей статье на эту тему написано последним пунктом "назначьте", а каким образом - не понятно.
Елена, вот спец.заметка на эту тему:
Как назначить сочетания клавиш для макросов
Огромное спасибо!
Когда-то был создан макрос для Word 6, попытка запустить его в Word 2003 успехом не увенчались - почему?
Антон! Большое спасибо! Ради Бога простите, что назвал Вас "Сергеем".
С Уважением, Виталий
Антон, добрый день! Не подскажите, возможно ли постоянное выполнение макроса Excel при изменении данных в книге (как формула), а не только при открытии книги или принудительно?
Увы, я не спец в таблицах и рекомендую вам задать этот вопрос Алексею Шмуйловичу, автору сайта по Excel. Вот ссылка: http://forum.msexcel.ru/microsoft_excel-b1.0/
Возможно, нужно ваш макрос записать в событие Workbook_Change. У него есть параметр Target, который возвращает ячейку, в которой произошло изменение.
Антон, добрый день! Проблемы с записью макроса в EXCEL 2007. Нужно было записать действия при перемещении диаграммы по листу. Пишет только
ActiveSheet.ChartObjects("Chart 13").Activate
и больше ничего. Ни перемещение, ни изменение размеров не отразилось. Есть какие-нибудь мысли по этому поводу?
Увы я не спец по Excel. Могу порекомендовать вам задать этот вопрос на специальный сайт, посвященный работе с электронными таблицами: http://forum.msexcel.ru/microsoft_excel-b1.0/
помогите пожалуйста,у меня вот такая проблема,мне нужно выполнить макрос,который бы зачеркивал 3 слова(текущее,предыдущее и последующее)
А можно ли сделать макрос, который будет вставлять слова из одного документа в другой в определенном месте?