Создание меню в vba excel
Конечно, можно обойтись и без меню. Я, например считаю, что меню надо использовать в сложных программах, чтобы избежать использования множества командных кнопок. Однако меню придает программе профессиональный, "не детский" вид, в отличие от множества насобаченых на форму кнопок. Для добавления меню имеется редактор Menu Editor. С его помощью и можно как раз добавлять, изменять, уничтожать меню.
Создай новый exe-проект. Вверху окна VB найди кнопку инструменты, и из выпадающего меню выберем Редактор Меню (рис.18). Обратит внимание, что вызов редактора меню доступен, когда ты нахожишься в окне формы - объект. Если ты редактируешь код программы или программа запущена, вызвать редактор меню нельзя.
Рисунок 18.
У нас в общем-то откроется окно меню редактора (Рис.19)
В первой строке этого чуда "Название" (Caption) мы пишем название меню, то, что у на отобразиться на экране при запуске программы. А во второй строке, "Имя" (Name) имя меню, которое используется в программном коде. Заполнение обоих этих полей обязательно.
Для примера слепим меню, которое (должно же меню что-то делать), изменяет свойства графического объекта Shape, поскольку мы наплевали на него в прошлой главе. Поэтому, нажмем кнопку OK, отчего наше окно редактора меню закроется, положим на форму Form1 объект Shape1. По умолчанию он у нас будет в виде прямоугольника. Снова откроем редактор точно также, как и в первый раз.
Итак, в названии пишем "Фигура", а в имени - mnuShape. Почему mnu? Потому что так принято, и в коде программы потом будет легче отличать меню от прочих переменных.
Из нашего пункта меню Фигура должно выскакивать, например, подменю Прямоугольник и подменю Круг. Мы можем нажать кнопку Дальше и курсор в нижнем большом окне (окно списка меню) перескочит на следующую строчку, сейчас пустую, а можем просто мышь кликнуть по нужной строке и таким образом перейти к следующему пункту. Перейдем на вторую строку и напишем в названии Прямоугольник, а в имени - mnuPram. Перейдем на третью строчку и напишем соответственно Круг и mnuKrug. Поскольку названия и имена я придумывал на ходу, прошу простить за их несуразность.
Вот и здорово, но если мы запустим нашу программу, то увидим, что наши названия расположились рядком, и никаких подменю не получилось. Для того чтобы строчку Прямоугольник переместить в подменю, нужно щелкнуть по ней в окне списка меню (при этом она выделится) и нажать маленькую стрелочку вправо. Ты увидишь, что строка переместилась вправо, как бы стала на другой уровень. Нажимая кнопки вправо и влево мы создаем подменю второго, третьего и т.д. уровня или выводим из подменю на более высокий уровень. Теперь посмотри на эту таблицу .
Сдвинем строчку Круг, как в таблице. Вот теперь у нас настоящее подменю. А кнопочками вверх и вниз мы можем изменять их положение по вертикали.
Теперь самостоятельно, так же, как в таблице, введем в подменю Прямоугольник подменю следующего уровня, куда войдет
Название Простой Имя mnuProstoi
Название Скругленный Имя mnuPramRound
Название Квадрат Имя mnuKvadrat
а в подменю Круг подменю следующего содержания (уровень тот же, что и у подменю Прямоугольник)
Название Круглый Имя mnuKrugli
Название Овальный Имя mnuOval
Кроме того еще введем паралельно меню Фигура меню Заливка (Самого первого уровня) c именем mnuPaint и в него поместим следующие подменю (их нужно передвинуть с помощью стрелки вправо на следующий уровень)
Название Залить Имя mnuZalit
Название Прозрачно Имя mnuProzrachno
Название Горизонтальная Имя mmuHorizont
Название Вертикальная Имя mnuVertical
В поле "Быстрая клавиша" из выпадающего списка мы можем назначить клавишу или комбинацию клавиш, для каждого пункта нашего меню.
Общий вид редактора меню должен получиться, как на рисунке 20.
Если горячие клавиши были тобой назначены, они тоже показаны в окне списка меню (Ctrl+S, Ctrl+K и т.д.)
Что еще есть в редакторе меню. Ну понятно, что с помощью кнопок "Дальше", "Вставить", "Удалить" мы можем передвигаться в окне списка меню, вставлять и удалять строки. Если поставить галочку возле "Отмечено", то в меню данная строка тоже будет помечена галочкой (Это для переключателей) только эта галка так и будет светиться для нас это пока совершенно бесполезно. Галочка возле "Видимо" указывает на то, что эта стока видима, если ее убрать, пользователь не будет видеть эту строчку меню. Галочка возле "Включено" показывает, что эта строчка доступна пользователю. Если ее убрать, то эта строка будет показана тускло и кликать по ней пользователю будет бесполезно. Вообще-то эти свойства для пользы дела надо задавать программно, а не тыкать сейчас по ним мышью.
Дальше надо заставить наше меню работать. Нажми кнопку OK и выйди из редактора меню.
Внимание. Если кнопка OK не будет нажата, твои изменения в меню не сохранятся!
Закрой это чертов редактор и перейди к окну редактирования кода. Кликни по полю (General) и опаньки, все наши строчки там есть! Можно кликать и делать процедуру для любой строчки, то бишь пункта меню (рисунок 21).
Рисунок 21.
Но нам нужны только пунты самого последнего уровня, потому, что предыдущих уровней мы используем только для выбора.
Пишем процедуры, которые включим изменения свойств объекта Shape ( ну там заливку, и вид). Свойств объекта Shape на самом деле больше, но мы используем некоторые из них:
Private Sub mmuHorizont_Click()
Shape1.FillStyle = 2
End Sub
Private Sub mnuKrugli_Click()
Shape1.Shape = 3
End Sub
Private Sub mnuKvadrat_Click()
Shape1.Shape = 1
End Sub
Private Sub mnuOval_Click()
Shape1.Shape = 2
End Sub
Private Sub mnuPramRound_Click()
Shape1.Shape = 4
End Sub
Private Sub mnuProstoi_Click()
Shape1.Shape = 0
End Sub
Private Sub mnuProzrachno_Click()
Shape1.FillStyle = 1
End Sub
Private Sub mnuVertical_Click()
Shape1.FillStyle = 3
End Sub
Private Sub mnuZalit_Click()
Shape1.FillStyle = 0
End Sub
Можно запустить программу, и с помощью меню изменять вид объекта Shape.
Но мы еще с меню не закончили. Допусти нам захотелось, чтобы меню появлялось не в стандарном месте в верхней строке нашего окна, а допустим, где угодно, например около курсоры мыши. Давайте "Фигура" оставим как есть, а меню "Заливка" превратим в контекстное, т. е. всплывающее. Но для этого сначала познакомимся с методом PopupMenu.
Метод PopupMenu
С помощью этого метода мы можем создавать всплывающие меню в любом месте нашей формы (одновременно отображаться может только одно).
Синтаксис его таков
объект.PopupMenu имяменю, флаг, позицияX, позицияY, выделеннаястрока
Объект - необязательный параметр, если опущен, то принимается форма, на которой фокус
Имяменю - имя всплявающего меню. Обязательный параметр.
Флаг - константа или значение, указывающее расположение и поведение меню. Список констант приведен в таблице ниже. При использовании двух констант (по одной из каждой группы) необходимо между ними ставить логический оператор Or.
ПозицияX, позицияY - координаты X и Y, указывающие, где отобразиться окно. Если они опущены, то принимаются координаты мыши.
Выделеннаястрока - название элемента всплывающего меню, которое отобразится жирным шрифтом.
Таблица флагов, указывающих позицию и поведение контекстного меню.
Редактор меню (Menu Editor) позволяет добавлять в форму новые меню, изменять и удалять существующие, обогащать их специальными эффектами. Используя процедуры событий, можно задействовать команды меню.
Чтобы создать на форме меню, следует выбрать команды меню Tools -> Menu Editor или на панели инструментов щелкнуть по кнопке Menu Editor. На экран будет выведено окно редактора меню (рис. 3.25).
Рис. 3.25. Редактор меню
Нижняя часть меню предназначена для всех элементов меню данной формы. Верхняя часть меню предназначена для свойств отдельного элемента меню. В поле Заголовок указываются название меню и название опций (команд меню). Если перед названием поставить знак &, то будет назначена комбинация клавиш доступа к меню или его опции. Например, &File означает, что меню может быть вызвано нажатием клавиш Alt+F.
Имя меню в программе состоит из префикса mnu и последовательности опций (например, mnuFileSave для опции File/Save) и задается в поле Имя.
После ввода названия и имени нужно щелкнуть мышью по кнопке Следующий. Имя меню появится в нижней части окна. Иерархию структуры меню определяют уровни отступов в списке элементов, которые являются именами меню. Опции меню указываются ниже имени меню и показываются с отступом. Если опция содержит подменю, то опции подменю будут указаны ниже с дальнейшим отступом (см. рис. 3.25).
Для создания опции меню нужно заполнить поля Заголовок и Имя и щелкнуть по стрелке, направленной вправо. Появившиеся четыре точки показывают, что это опция указанного выше меню. Опция меню может быть введена. Если введены все опции меню, то щелчком мыши по стрелке, направленной влево, следует удалить точки со следующей строки, позволяя ввести новое имя меню.
Создание подменю осуществляется путем добавления опций на втором уровне отступов. При этом опции первого уровня становятся именами подменю. Можно создать четыре уровня подменю.
Редактировать элемент меню можно, щелкнув по нему, выделив его и далее выполнив следующие действия:
- • используя кнопку Вставить, можно вставить новую опцию выше выделенного элемента;
- • используя кнопку Удалить, можно удалить выделенный элемент;
- • щелчком мыши по стрелке, направленной влево, можно выделенный элемент из опции сделать именем меню, а по стрелке, направленной вправо, — наоборот;
- • щелчком мыши по стрелке, направленной вверх, можно переместить выделенный элемент вверх по списку, а по стрелке, направленной вниз, — вниз по списку.
В редакторе меню есть много свойств для элемента меню. Три свойства представлены контрольными индикаторами и являются булевыми, т. е. могут принимать значение True или False. Это Checked (Контролируемость), Enabled (Доступность), Visible (Видимость).
Если для Checked установлено значение True, то появится галочка слева от опции меню. Щелчок мышью по опции меню устанавливает для Enabled значение True и помещает напротив него галочку. Удаляют галочку, повторно щелкнув по этой опции — для Checked установится значение False.
Enabled указывает доступность опции меню. Для этого свойства также используются значения True или False.
Visible используют для ограничения опций, чтобы, например, некоторые опции меню увидеть только с помощью паролей.
Клавишу быстрого доступа для любого элемента меню назначают с помощью щелчка по окну Shortcut и выбора варианта из раскрывающегося списка. В меню с большим количеством опций последние целесообразно разделить на группы по общим признакам с помощью линий раздела. Эти линии в меню находятся как элементы со свойством Caption, имеющим значение _ (подчеркивание), и имеют свои значения Name.
В приложениях могут быть полезны следующие свойства:
- • index — хранит индекс элемента в меню;
- • Help Context ID — обеспечивает связь со справочным файлом;
- • Negotiate Position — определяет положение меню, если на экран их выводится несколько;
- • window List — определяет, содержит ли меню список других открытых окон.
Для каждой опции (команды) меню необходимо написать процедуры событий, которые содержат программные утверждения вывода или обработки информации на форме и изменяют свойства меню. Общение с пользователем происходит через диалоговое окно с помощью одного из объектов ввода или объекта общих диалогов. Например, событие Click происходит при щелчке мыши по опции меню или при нажатии на клавиши доступа.
Буфер обмена, как и любой другой объект, имеет доступные ему методы, т. е. внутренние процедуры, которые выполняются из вызванной событием процедуры. Таким событием является щелчок мыши по команде меню. Для выполнения метода его нужно записать в следующем формате: Object .method.
Запись в процедуре строки Clipboard.Clear приводит к очистке буфера обмена. Буфер обмена содержит следующие методы:
- • Clear — выполняет очистку содержимого буфера;
- • SetText — копирует указанный текст в буфер обмена;
- • Get Text () — возвращает содержимое буфера обмена.
Методы буфера обмена могут быть использованы в сочетании со свойствами текстовых и графических окон.
Для получения практических навыков разработки меню в Visual Basic рекомендуется на компьютере выполнить следующий пример: создать меню Edit (Редактирование) с опциями копирования (Сору), вставки (Paste), удаления (Clear), удаления и копирования в буфер обмена (Cut).
Последовательность работы должна быть такой:
- 1. Запуск Visual Basic и в меню Файл — щелчок мышью по команде Новый проект.
- 2. Щелчок по кнопке Редактор меню (Menu Editor) на панели инструментов. На экране появится редактор меню.
- 3. Набираем Edit в поле Заголовок (название появляется в нижней части окна), и при нажатии клавиши Tab курсор перемещается в поле Имя. Для создания клавиши доступа к меню Edit в поле Заголовок перед буквой Е вводится знак &.
Аналогичные действия выполняем для команд Copy, Paste, Clear и Cut.
- 4. Набираем текст mnuEdit в поле Имя (префикс mnu применяется для идентификации пункта меню в программном коде).
- 5. Щелчок по кнопке Следующий для добавления заголовка меню Edit в программу. Меню Edit добавится к строке меню, а диалоговое окно очистится. По мере создания меню каждый пункт будет добавляться в окно списка меню. Структура создаваемого меню видна.
- 6. Набираем текст Сору в поле Заголовок, а после нажатия клавиши Tab в поле Имя — mnuCopyltem. Используется соглашение о наименовании: в конец имени добавляется слово item. Команда Сору появится в списке меню.
- 7. Далее в списке меню щелчок по кнопке со стрелкой, направленной вправо. Команда Сору переместится вправо, и перед ней появятся четыре точки, т. е. данный пункт стал командой меню.
- 8. Далее щелкаем по кнопке Следующий и для каждой из команд Paste, Clear и Cut осуществляем те же действия, что и для Сору.
- 9. Закрыв окно редактора меню щелчком по кнопке ОК, увидим, что в среде программирования появилась форма со строкой меню Edit и опциями Copy, Paste, Clear и Cut.
Процесс создания меню Edit иллюстрирует рис. 3.26. Результат представлен на рис. 3.27. Список опций появляется при щелчке по Edit.
Методы буфера обмена были использованы в сочетании со свойствами текстовых окон. Например, для редактирования текста можно использовать следующие свойства текстового окна:
• SelText — содержит строку подсвеченных символов (пусто, если строка не подсвечена);
Рис. 3.26. Создание меню Edit
Рис. 3.27. Окончательный вид меню Edit
- • SelLength — содержит длину (число символов) подсвеченной строки;
- • SelStart — содержит текущее положение курсора.
Каждая команда меню выполняется отдельной процедурой
по событию Click () — щелчок мышью по соответствующей команде меню. Следует написать следующие процедуры (рис. 3.28).
Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic(Toos - Macro - Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
-
Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно.
Способ 2. Запись макросов макрорекордером
Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись(Tools - Macro - Record New Macro)
- в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить(Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в. - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов - это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros) :
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
- Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button) :
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
- В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button) :
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined) :
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
Лабораторная работа 3.1 Создание меню для запуска макроса
Создание меню для макросов VBA в Excel
Задание:
Создайте для запуска макроса, созданного вами на предыдущих лабораторных, меню, аналогичное представленному на рисунке:
Решение:
1. Откройте Excel и в меню Сервис выберите Настройка. Откроется окно Настройка.
2. В этом окне на вкладке Команды нажмите на кнопку Упорядочить команды.
3. В открывшемся окне Изменение порядка команд переставьте переключатель в положение Панель инструментов и в списке рядом выберите "Строка меню листа". Нажмите на кнопку Добавить и в открывшемся окне в списке Категории слева выберите "Новое меню". В списке Команды справа выберите Новое меню и нажмите OK .
4. В окне Изменение порядка команд переставьте переключатель в положение Строка меню и в списке справа выберите Новое меню.
5. Нажмите на кнопку Добавить и в открывшемся окне в списке Категории слева выберите Макросы, а в списке Команды справа — "Настраиваемая команда меню" и нажмите OK . Затем в окне Изменение порядка команд нажмите на кнопку Закрыть.
6. При открытом окне настройка перетащите созданное вами меню "Новое меню" на нужное место (справа от пункта Справка) и щелкните по нему правой кнопкой мыши.
В контекстном меню измените для него в поле Имя значение на "Макросы".
7. Раскройте созданное вами меню и щелкните правой кнопкой мыши по строке Настраиваемая команда меню (при открытом окне Настройка). В поле Имя введите значение "Ответственный исполнитель". Затем в том же контекстном меню выберите пункт Назначить макрос и выберите созданный вами макрос PERSONAL . XLS !ОтвИсп. Нажмите OK , а затем Закрыть, чтобы закрыть окно Настройка.
8. Воспользуйтесь созданным вами меню, чтобы убедиться, что оно работает в соответствии с заданием.
Читайте также: