Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Создание макросов в MS Office



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

С помощью макропрограмм создаются крупные модули, включающие в себя дополнительные команды, надстройки и т. д., что дает возможность автоматизировать повторяющиеся действия и значительно расширить функциональные возможности приложения. Простые пользователи могут сами создавать макросы, исходя из своих потребностей и характера выполняемых задач. Однажды написанный макрос может использоваться многократно. Технология макросов поддерживается большинством профессиональных программных продуктов, например, таких, как: Adobe Photoshop, AutoCAD, 3D Studio Max, MS Office и др.

В Microsoft Office есть два способа создания макропрограмм: непосредственно ввод её текста (процедуры VBA) в редакторе VBA либо применение встроенного средства записи. VBA – относительно несложный язык программирования, который очень прост и удобен в освоении и позволяет быстро получить ощутимые результаты – конструировать профессиональные приложения для решения практически любых задач в среде Microsoft Windows. Можно утверждать, что язык VBA является прямым потомком языка Basic, но, тем не менее, в сравнении с ним он шагнул далеко вперед. А значит и возможностей, как внутренних (например, в части вывода на экран всевозможных форм), так и в отношении взаимодействия с другими приложениями, у него гораздо больше.

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

 

Автоматическое создание макросов осуществляется, подобно записи на обычный магнитофон, только вместо звука фиксируются нажатия клавиш и действия мыши. Следует заметить, что независимо от того, работаете ли вы в Word, Excel или PowerPoint, создание нового макроса осуществляется одним и тем же способом. Выберите команду меню Сервис/Макрос/Начать запись (Tools/Macro/Record New Macro), в результате чего на экране раскроется диалоговое окно Запись макроса. Хочу заметить, что хотя диалоговое окно Запись макроса в разных приложениях – Microsoft Word, Excel или PowerPoint – выглядит немного по-разному, правила записи нового макроса для всех приложений одинаково. Последовательность следующая:



- включить запись,

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

- остановить запись.

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

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

Отредактировать или просмотреть текст записанного макроса можно с помощью команды меню приложения Сервис/Макрос/Макросы (Tools/Macro/Macros) или при помощи сочетания клавиш Alt+F8, выбрать из списка соответствующий макрос и нажать кнопку Изменить. Хотя создать макрос очень легко, лучше предварительно продумать действия, которые он должен выполнять, и определиться с местом его сохранения. В ходе записи важно быть аккуратным при всех операциях и не делать ничего лишнего, чтобы макропрограмма не содержала ненужных команд.



В MS Word макросы можно использовать для редактирования объектов (таблиц, рисунков и т. д.), указания различных настроек для вывода текущего документа на печать, преобразования документов, созданных при помощи других текстовых редакторов, выполнения различных действий с выделенными данными и прочих операций. Собственно, макросом можно назвать, к примеру, и сочетание клавиш Ctrl+A.

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

Последовательность действий в данном случае такая:

1. В MS Word 2007 перейдите на вкладку Вид, найдите меню Макросы, нажмите в нем раскрывающееся меню Макросы, после чего выберите команду Запись макроса. Для MS Word 2003: Сервис/Макрос/Начать запись

2. В появившемся диалоговом окне Запись макроса введите имя создаваемой макропрограммы. Оно должно быть уникальным, отражать смысл/предназначение макроса и не содержать пробелов. Назовем, к примеру, Лишние Проблемы. В графе Макрос доступен для выберите место сохранения – для всех документов либо только для текущего. Выбираем первый вариант. Далее в графе Описание вкратце указуете предназначение макроса.

3. После этого в том же диалоговом окне нажмите одну Назначить макрос кнопке (панели для версии 2003) или Назначить макрос клавишам. При выборе первого варианта откроется окошко, из которого в MS Word 2003 название данного макроса можно перетащить на панель инструментов или на любое меню (сделать его пунктом этого меню), а работая в Word 2007, нажав кнопку Добавить, можно поместить вызов макропрограммы в панель быстрого доступа. Если же вам больше нравится запускать макрос сочетанием клавиш, выберете второй вариант, укажите желаемую комбинацию и нажмите ОК. Назначим макросу сочетание клавиш Ctrl+Alt+Пробел.

4. Запись начата. Теперь вызываем диалог Найти и заменить. Для этого на вкладке Главная в меню Редактирование нажимаем кнопку Заменить. Для 2003 версии: Правка/Заменить

5. В окне Найти и заменить в поле Найти пишем: «пробел {2;}». Эта запись означает – искать 2 или более пробелов подряд. А в графе Заменить на ставим один пробел. После этого нажимаем на кнопку Больше для указания особых параметров поиска. Укажите Направление – везде и снимите галочки со всех опций, кроме Подстановочные знаки. Если эта опция не была установлена, выберете её. Затем нажмите кнопку Заменить все.

6. После того, как будет выдано сообщение о результатах замены, нужно остановить запись макропрограммы. Для этого нажмите на кнопку Остановить запись (значок квадратик), которая находится в строке состояния, если вы работаете в Word 2007, и Сервис/Макрос/Остановить запись для Word 2003/

Запись макроса окончена. Теперь по нажатии комбинации клавиш Ctrl+Alt+Пробел из текущего документа будут автоматически удаляться лишние проблемы. Думаю, данный макрос наглядно демонстрирует способности и пользу макропрограмм.

Код первого макроса:

 

Sub DeleteSpace()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " {2;}"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveRight Unit:=wdCharacter, Count:=1

 

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

1. Введите в поле "Найти" сначала пробел, а потом введите следующее выражение:

{1;}([.,:;\!\?])

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

2. Перейдите в поле "Заменить на" и введите \1 (здесь единица означает порядковый номер выражения, заключенного в круглые скобки).

Получившийся код для вставки в редактор VisualBasic:

 

Sub DelSpacePunktMark()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " {1;}([.,:;\!\?])"
.Replacement.Text = "\1"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveLeft Unit:=wdCharacter, Count:=1
End Sub

 

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

В MS Excel запись, сохранение и быстрый запуск созданных макропрограмм осуществляется подобно тому, как это делается в Word. Рассмотрим несколько примеров, с которыми встречаются пользователи Excel.

Иногда, при вводе длинного заголовка таблицы, изменении и пересчете значений и подобных операциях некоторые данные перестают помещаться в ячейках. Вследствие этого в зависимости от версии и текущих настроек Excel текст будет перекрывать соседние ячейки или «прятаться» под ними, если же вводятся числовые данные – вместо цифр вы можете увидеть набор символов ####. Хотя недолго и вручную настроить автоподбор ширины, в случае периодического повторения ситуации лучше создать соответствующий макрос для автоматического выполнения данных действий. Для этого необходимо:

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

2. Нажмите сочетание клавиш Ctrl+Ф для выделения всех ячеек листа. На закладке Главная в меню Ячейки нажмите кнопку Формат и в меню выберите команду Автоподбор ширины столбца (если вы работаете в 2007 версии MS Office) либо выполните команду Формат/Столбец/Автоподбор ширины (для MS Excel 2003). Поставьте курсор снова в ячейку А1 для снятия выделения.

3. Остановите запись (идентично остановки записи макроса в MS Word).

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

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

Если вы заметили, что в используемом приложении MS Office периодически выполнять одну и ту же последовательность операций, приступайте к написанию макроса. Этим вы сэкономите свое время, не будете отвлекаться на рутинные операции и сосредоточите внимание на более важных задачах.

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


Эта страница нарушает авторские права

allrefrs.ru - 2018 год. Все права принадлежат их авторам!