После создания макросаего можно назначить кнопке, нажатой для запуска макроса. Макрос можно назначить кнопке на панели быстрого доступа или кнопке в личной группе на ленте.
Если вы хотите, чтобы кнопка макроса была доступна в других книгах, назначьте ее макросам, созданным в личной книге.
Добавление кнопки макроса на панель быстрого доступа
-
Откройте вкладку Файл и выберите пункт Параметры, а затем — категорию Панель быстрого доступа.
-
В списке Выбрать команды из выберите пункт Макрос.
-
Выберите макрос, для который нужно назначить кнопку.
-
Нажмите кнопку Добавить, чтобы переместить макрос в список кнопок на панели быстрого доступа.
-
Чтобы заменить значок макроса по умолчанию другой кнопкой для макроса, нажмите кнопку Изменить.
-
В области Символвыберите значок кнопки для макроса.
-
Чтобы использовать более имя кнопки, в поле Отображаемая имя введите нужное имя.
В имя кнопки можно ввести пробел.
-
Дважды нажмите кнопку ОК.
Новая кнопка появится на панели быстрого доступа, где ее можно нажать, чтобы запустить макрос.
Совет: После сохранения книгикнопки, которые вы назначаете макросам в личной книге, будут доступны во всех открытых книгах.
Добавление кнопки макроса в группу на ленте
-
Щелкните Файл > Параметры > Настроить ленту.
-
В списке Основные вкладки в списке Настроить ленту, если он еще не был проверен,в поле Разработчик.
-
Выберите вкладку, на которой вы хотите добавить свою группу.
Например, выберите Главная, чтобы добавить группу на вкладку Главная.
-
Выберите Новая группа.
При этом новая группа (настраиваемая) будет добавлена на вкладку, которую вы выбрали.
-
Чтобы использовать более понятное имя для новой группы, нажмите кнопку Переименовать ,введите нужное имя в поле Отображаемая группа и нажмите кнопку ОК.
В имени можно ввести пробел. Например, введите Мои макросы.
-
Чтобы добавить макрос в группу, в списке Выбрать команды из выберите пункт Макрос.
-
Выберите макрос, который вы хотите добавить в новую группу, и нажмите кнопку Добавить. Макрос будет добавлен в группу Мои макросы.
-
Чтобы использовать более имя, нажмите кнопкуПереименовать и введите нужное имя в поле Отображаемого имени.
В имени можно ввести пробел.
-
В области Символвыберите значок кнопки для макроса.
-
Дважды нажмите кнопку ОК.
Новая группа появится на вкладке, на которой можно нажать кнопку для запуска макроса.
Совет: После сохранения книгикнопки, которые вы назначаете макросам в личной книге, будут доступны во всех открытых книгах.
Более новые версии
-
На вкладке Разработчик в группе Элементы управления щелкните Кнопка.
Если вкладка «Разработчик» недоступна:
-
Перейдите в Excel > параметры… >ленты & панели инструментов.
-
В разделе Настройка ленты в разделе Основныевкладки, в разделе Разработчики нажмите кнопку ОК.
-
-
Щелкните на листе место, где должен быть расположен левый верхний угол кнопки.
-
В диалоговом окне Назначение макроса щелкните имя макроса, который вы хотите назначить кнопке, и нажмите ОК.
-
Чтобы изменить размер кнопки, перетащите маркеры.
-
Чтобы задать свойства кнопки, щелкните ее, нажав клавишу CONTROL, или щелкните ее правой кнопкой мыши, а затем выберите форматирование.
Excel 2011 для Mac
-
На вкладке Разработчик в группе Элементы управления формы щелкните Кнопка.
Если вкладка «Разработчик» недоступна:
-
В правой части ленты нажмите кнопку
и выберите параметры ленты.
-
В разделе Настройки установите флажок Разработчик.
-
-
Щелкните на листе место, где должен быть расположен левый верхний угол кнопки.
-
В диалоговом окне Назначение макроса щелкните имя макроса, который вы хотите назначить кнопке, и нажмите ОК.
-
Чтобы задать свойства кнопки, щелкните ее, нажав клавишу CONTROL, или щелкните ее правой кнопкой мыши, а затем выберите форматирование.
Один из самых значимых навыков, которые я приобрел, работая финансовым аналитиком, является умение создавать специальные пользовательские надстройки для моего отдела и компании в целом. Этот навык позволил сохранить время и нервы для большого количества народа. Потратив более года, на то, чтобы научиться создавать первоклассные надстройки, я понял одну вещь – это совсем не сложно! И сегодня я хочу поделится с вами методом построения Excel надстройки, которая выглядит очень здорово, и которая приносит вашей карьере некоторые бонусы.
Оригинал статьи находится по ссылке
Данная статья делится на 5 простых шагов:
Шаг 1: Загрузить бесплатный шаблон (Я сделал всю рутину, которая отнимает время)
Шаг 2: Связать ваш макрос и описание с кнопкой на ленте
Шаг 3: Протестировать кнопку и убедиться, что она работает
Шаг 4: Выбрать иконку для кнопки (Micosoft предлагает их тысячи бесплатно)
Шаг 5: Сохранить ваш шаблон как надстройку
К чему мы должны прийти в конечном итоге:
Шаг 1: Загрузить шаблон
Я создал шаблон, в котором реализованы все основные рутинные операции. Этот шаблон позволит избежать траты вашего времени на создание сложного кода. Чтобы скачать его, щелкните по ссылке.
Шаг 2: Связываем ваш макрос
После того, как вы скачали и открыли файл, давайте немного изменим VBA код, чтобы связать код макроса запускающийся при нажатии определённой кнопки. В нашем примере мы создадим ленту со всего одной кнопкой.
- Скрываем не используемые группы и кнопки.
Открываем редактор Visual Basic (с помощью нажатия кнопок Alt + F11). Так как мы будем создавать ленту с одной единственной кнопкой, а шаблон содержит 50 кнопок, нам необходимо скрыть остальные 49. Чтобы сделать это, переходим в модуль RibbonSetup в программу GetVisible. Вы увидите Select Case цикл, который проходит через каждую кнопку и указывает ленте, будет ли кнопка видимой или скрытой. Так как мы ходим оставить только одну кнопку видимой, меняем аргумент переменной MakeVisible на False у всех кнопок, кроме одной.
- Добавляем код макроса
Далее, давайте добавим код нашего макроса в книгу. Мы создадим простейший код, который будет аналогичен команде Вставить только значения из буфера. Для этого переходим в модуль Macros и вставляем наш код.
Возвращаемся в модуль RibbonSetup, переходим к процедуре RunMacro. Добавляем имя макроса, который мы добавили до этого, к соответствующей кнопке (необходимо переписать DummyMacro).
- Добавляем надпись подсказки к макросу
Хороший способ помочь пользователям вспомнить для чего кнопка нужна – добавить всплывающую подсказку. Подсказка – это надпись, которая появляется рядом с кнопкой, когда на нее наводят курсор мыши. Вы постоянно видите эти надписи у нормальной ленты, но могли не обращать внимания на них. Чтобы добавить подсказку к нашей кнопке, переходим в процедуру GetScreentip и меняем аргумент у переменной Screentip на текст, который бы описывал назначение данной кнопке. В нашем случае напишем Вставить только значения.
- Добавляем имена вкладки, группы и кнопки
Чтобы закончить с настройкой кода, переходим в процедуру GetLabel, которая находится в модуле RibbonSetup. Точно так же, как мы добавляли текст вплывающей подсказки, вы можете добавить надписи, которые будут отображаться рядом с кнопкой на ленте.
К примеру, назовем нашу вкладку Company, нашу группу PasteSpecial, а кнопку Вставить значения. Из рисунка ниже понятно, что необходимо поменять аргумент переменной Labeling на текcт, который мы хотим отобразить на ленте.
На данном этапе мы связали наш макрос с кнопкой на ленте, дали ему имя и добавили подсказку для пользователей. Основные элементы настройки закончены. Переходим к шагу 3.
Шаг 3: Проверка работоспособности
Это очень быстрый, но важный этап. После того, как все элементы шага 2 были проделаны, сохраните и закройте книгу. Снова откройте, чтобы убедится все ли изменения, которые были сделаны, вступили в силу. Также проверьте работоспособность кода, который запускается при нажатии кнопки.
- Обратите внимание, что в нашем примере, программа будет выдавать ошибку после нажатия кнопки, если в буфере ничего нет, чтобы избежать этого, скопируйте, какой-нибудь диапазон и попробуйте воспользоваться кнопкой.
Шаг 4: Выбор иконок
Следующий шаг самый интересный – выбор иконок для надстройки. К счастью, Microsoft любезно предоставила полный доступ ко всем имеющимся иконкам в Microsoft Office.
Так как же получить все эти замечательные иконки? Для этого вам необходимо всего лишь сказать Microsoft, какую иконку вы планируете использовать, указав название иконки в коде макроса. Перейдите в процедуру GetImage и замените аргумент переменной RibbonImage у соответствующей строки. Так как в нашем примере мы имеем дело со вставкой, воспользуемся иконкой Вставить значения.
Как получить названия иконок?
Есть несколько ресурсов, где можно получить названия иконок для ленты, но лично я предпочитаю Excel файл, созданный компанией Microsoft, под названием Office 2007 Icons Gallery. В этом файле отображены все иконки, имеющиеся в наличии и находятся во вкладке Разработчик в 9 папках на ленте. Если вы наведете курсор мыши на иконку, программа отобразит всплывающую подсказку с названием иконки. Вам необходимо скопировать это имя дословно (с учетом регистра) и добавить его в макрос процедуры GetImage, как мы делали ранее.
Как изменить размер иконки?
Вы, наверное, обратили внимание, когда открывали файл впервые, что не все кнопки имеют одинаковый размер. Существует два доступных размера, который позволяет выбрать Excel – большой и маленький. Размер, который будут иметь кнопки, полностью зависит от вас. Вполне возможно, что вы захотите сделать важные кнопки большими, а остальные – маленькими, чтобы сэкономить место.
Чтобы изменить размер иконки, перейдите в процедуру GetSize и измените текст у соответвующей кнопки на Large или Small.
Вам понадобится сохранить и перезапустить файл, чтобы изменения вступили в силу.
Шаг 5: Сохранить файл как надстройку
Последний шаг, который необходимо сделать – это сохранить наш файл как надстройку. Надстройки Excel имеют расширение .xlam, так что убедитесь, что вы выбрали именно этот формат, когда будете сохранять книгу. После того, как вы сохранили файл надстройки, вы можете закрыть шаблон (.xlsm формат) и установить новую надстройку в программу. Для этого открываем любой файл Excel, переходим во вкладку Файл в пункт Параметры. Перед нами появится диалоговое окно Параметры Excel, переходим во вкладку Надстройки. Щелкаем кнопку Перейти, в появившемся окне ставим галочку напротив названия нашей надстройки и жмем кнопку OK.
На нашей ленте появилась новая вкладка под названием Company, та, которую мы создавали до этого. Теперь, данная вкладка будет отображаться во всех рабочих книгах Excel.
Мы закончили. Всего за 5 шагов, мы создали надстройку для ленты Excel, которую сможет использовать любой пользователь. Надеюсь, что я смог убедить вас в том, что создание надстроек не является сложным занятием. Теперь вы сможете применить полученные навыки по созданию надстроек для того, чтобы поразить вашего руководителя и даже руководителя руководителя.
Ability to add a custom button helps you quick access to your macros or favorite actions directly from the Ribbon. The Ribbon was introduced in 2007 and made customizable with Excel 2010. So you can use this trick in all versions starting with 2010. This article shows How to add a custom button to Excel Ribbon.
Steps
- Follow FILE > Options > Customize Ribbon path to access customizing options.
- Select a category from Choose commands from drop-down to see available commands.
- Click New Tab button to your custom tab.
- Select the commands you want to add from left-side list and click Add>> button to move them under new
- Use New Group button to add multiple groups under the custom tab.
- Use Rename… button to rename your tab, group or command. Also, you can change the icon of your command in the same window.
- Click OK to apply your changes.
Additionally, you can reset the Ribbon to its default state or import/export your custom settings in the same window. Exported settings are saved as exportedUI file. You can use this file in all versions starting with 2010.
You can also access customization option by simply right-clicking anywhere on the Ribbon and clicking on Customize Ribbon… item.
Попробую описать что делал
1. Скачал прогу с сайта Максима Новикова
2. Запустил и делал все по методу №2 сайта
http://www.excel-vba.ru/
«как создать свою настройку»
3 Сделал код
Код |
---|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="excel-vba" label="RUS or LAT"> <group id="groupe1" label="Действия с RUS-LAT"> <button id="RUS or LAT" imageMso="PivotClearCustomOrdering" label="Перевод латиницы в кирилицу" onAction="transfer to Cyrillic" /> </group> </tab> </tabs> </ribbon> </customUI> |
4.Нажал на кнопку генерация модулей обратных вызовов
5. Далее мне не понятно, но выскочило окно с таким содержимым
Код |
---|
Attribute VB_Name = "RibbonCallbacks" Option Explicit 'Потребовать явного объявления всех переменных в файле 'RUS or LAT (компонент: button, атрибут: onAction), 2007 Sub transfer to Cyrillic(control As IRibbonControl) Что сюда надо вставлять? Макрос, которым я пользуюсь для перевода латиницы в кирилицу? End Sub |
6. Если нажать сохранить, то предлагает сохранить под именем RibbonCallbacks.bas
Чую косячу по полной, но и проблему адекватно описать не могу, потому как мы с вами говорим на «разных языках», но надеюсь на ваше понимание и терпение.. и чтобы своего терпения хватило.. К «сожалению» больничный закончился и форум с завтрашнего дня смогу читать только вечером поздно вместо сна, но буду стараться.
Еще.. если потом попытаться открыть прогой сохраненный файл — он его даже не видит
Содержание
- Процедура создания
- Способ 1: автофигура
- Способ 2: стороннее изображение
- Способ 3: элемент ActiveX
- Способ 4: элементы управления формы
- Вопросы и ответы
Excel является комплексным табличным процессором, перед которым пользователи ставят самые разнообразные задачи. Одной из таких задач является создание кнопки на листе, нажатие на которую запускало бы определенный процесс. Данная проблема вполне решаема с помощью инструментария Эксель. Давайте разберемся, какими способами можно создать подобный объект в этой программе.
Процедура создания
Как правило, подобная кнопка призвана выступать в качестве ссылки, инструмента для запуска процесса, макроса и т.п. Хотя в некоторых случаях, данный объект может являться просто геометрической фигурой, и кроме визуальных целей не нести никакой пользы. Данный вариант, впрочем, встречается довольно редко.
Способ 1: автофигура
Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.
- Производим перемещение во вкладку «Вставка». Щелкаем по значку «Фигуры», который размещен на ленте в блоке инструментов «Иллюстрации». Раскрывается список всевозможных фигур. Выбираем ту фигуру, которая, как вы считаете, подойдет более всего на роль кнопки. Например, такой фигурой может быть прямоугольник со сглаженными углами.
- После того, как произвели нажатие, перемещаем его в ту область листа (ячейку), где желаем, чтобы находилась кнопка, и двигаем границы вглубь, чтобы объект принял нужный нам размер.
- Теперь следует добавить конкретное действие. Пусть это будет переход на другой лист при нажатии на кнопку. Для этого кликаем по ней правой кнопкой мыши. В контекстном меню, которое активируется вслед за этим, выбираем позицию «Гиперссылка».
- В открывшемся окне создания гиперссылки переходим во вкладку «Местом в документе». Выбираем тот лист, который считаем нужным, и жмем на кнопку «OK».
Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.
Урок: Как сделать или удалить гиперссылки в Excel
Способ 2: стороннее изображение
В качестве кнопки можно также использовать сторонний рисунок.
- Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
- Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».
- Открывается окно выбора изображения. Переходим с помощью него в ту директорию жесткого диска, где расположен рисунок, который предназначен выполнять роль кнопки. Выделяем его наименование и жмем на кнопку «Вставить» внизу окна.
- После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.
- После этого к копке можно привязать гиперссылку, таким же образом, как это было показано в предыдущем способе, а можно добавить макрос. В последнем случае кликаем правой кнопкой мыши по рисунку. В появившемся контекстном меню выбираем пункт «Назначить макрос…».
- Открывается окно управление макросами. В нем нужно выделить тот макрос, который вы желаете применять при нажатии кнопки. Этот макрос должен быть уже записан в книге. Следует выделить его наименование и нажать на кнопку «OK».
Теперь при нажатии на объект будет запускаться выбранный макрос.
Урок: Как создать макрос в Excel
Способ 3: элемент ActiveX
Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.
- Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
- В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
- После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
- После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
- Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
- Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
Теперь макрос будет привязан к объекту.
Способ 4: элементы управления формы
Следующий способ очень похож по технологии выполнения на предыдущий вариант. Он представляет собой добавление кнопки через элемент управления формы. Для использования этого метода также требуется включение режима разработчика.
- Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
- Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
- После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.
Еще статьи по данной теме:
Помогла ли Вам статья?
Вставка кнопки макроса на ленту в Excel 2010 |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Содержание
- Как в офисе.
- Вставляем кнопки в панель быстрого доступа Excel
- Вставляем кнопки в панель инструментов
- Вставляем в кнопку макрос
- Exceltip
- Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
- Пошаговая инструкция по созданию надстройки Excel для ленты
- Шаг 1: Загрузить шаблон
- Шаг 2: Связываем ваш макрос
- Шаг 3: Проверка работоспособности
- Шаг 4: Выбор иконок
- Шаг 5: Сохранить файл как надстройку
- Вам также могут быть интересны следующие статьи
- 11 комментариев
Как в офисе.
Сейчас речь пойдет не о формулах и прочих полезностей, которыми насыщен Excel. Поговорим об удобстве пользования программой, а именно как в панель управления Excel вставить необходимые кнопки.
Какой бы не была хорошей и огромной панель управления, каждый пользователь сталкивается с проблемой, что ему чего-то, да и не хватает. Это может быть любая функция или инструмент, не включённый в стандартный перечень, сами же понимаете, что панель не резиновая и всего вместить невозможно. Также часто случается, что необходимость использования макросов достаточно большая или даже постоянная и нужно создать кнопку и внедрить ее в панель управления для лучшей эффективности.
В связи с этими причинами можно определить 3 варианта, куда есть возможность внедрить кнопки, в зависимости от необходимости:
- В панель быстрого доступа;
- В панель управления (лента инструментов);
- Добавляем макрос в кнопку.
Вставляем кнопки в панель быстрого доступа Excel
Настроить эту панель очень важно, так как улучшается удобство использование и скорость работы, например, возможность быстрой печати по заданному диапазону, а в Excel распечатка кусочка таблицы, это очень полезная и нужная возможность.
Для добавления кнопок в панель быстрого доступа необходимо несколько шагов:
- Вариант № 1: справа от панели нажать кнопку выпадающего меню «Настройка панели быстрого доступа», выбираете пункт «Другие команды. ». Вариант № 2: нажать ярлык «Файл», потом «Параметры» и в диалоговом окне слева выбрать «Панель быстрого доступа».
Для получения наиболее удобного варианта использования команд, вы можете настроить цепочку и расположение кнопок на панели, так как вам нравится, используя кнопки-стрелочки «Вверх» или «Вниз» и по окончанию нажмите кнопку «Ок».
Вставляем кнопки в панель инструментов
Теперь поговорим более обширно, когда нужно расширить стандартный функционал добавлением новых кнопок с новыми возможностями, вернее сказать открыть скрытые возможности. Используя путь по варианту № 2 (см. выше) в диалоговом окне «Параметры Excel» выбираете слева пункт «Настройка ленты».
Технически добавление не очень сложное, нужно только знать что вам нужно, как называется кнопка и где она находится, тут мне подсказать сложнее, зависит от стоячих перед вами задач. Для этого стоит выделить немного времени и почитать о возможностях программы, что позволит вам более продуктивно работать, да и интересно будет. Перечень полезной литературы вы найдете у меня на сайте в разделе «Библиотека».
Вставляем в кнопку макрос
Если вы создаете макросы, и это происходит частенько, тогда стоит макрос прикрутить к кнопке, которой он и будет запускаться. А саму кнопку можно внедрить в ленту управления или панель быстрого доступа для большей удобности и доступности в работе. О создании макросов вы можете ознакомиться в статье «Как создать макрос?», а сейчас мы будем работать с простым примером.
Внимание! Если есть необходимость, чтобы кнопку с макросом можно было использовать и в других книгах Excel, нужно использовать макрос, созданный в личной книге.
Пример № 1:
Добавим условный макрос на примере размещения кнопки в панели быстрого доступа. Пошагово это будет так:
- В редакторе VBA создаем макрос;
- В меню «Параметры» выбираете пункт «Панель быстрого доступа»;
- В выпадающем списке «Выбрать команды из. », указываем «Макросы»;
- Выбираем макрос «Моя_программа»;
- Кликаем кнопку «Добавить» и перемещаем макрос в перечень кнопок в панели быстрого доступа;
- Теперь нажав кнопку «Изменить. » можно с предложенного списка выбрать новую пиктограммку для макроса, взамен непонятной абстракции;
- В диалоговом окне «Изменение кнопки» в поле «Символ» выбираете подходящий значок для кнопки;
- Взамен предлагаемого программой имени кнопки, есть возможность в поле «Отображаемое имя:» ввести то которое вам нужно (можно вводить и с пробелами);
- Кликаем «ОК» на выборе иконки и «ОК» в настройках.
Пример № 2:
Теперь добавим макрос в кнопку и поместим ее на ленте в настраиваемой группе. Пошагово это можно сделать так:
- Используем созданный в редакторе макрос, как в пункте № 1 предыдущего примера;
- В меню «Параметры» выбираете пункт «Настройка ленты»;
- В окне «Основные вкладки» устанавливаем курсор на тот раздел, где необходимо создать группу (например, «Главная») и кликаем на кнопку «Создать группу»;
- Устанавливаем курсор на созданную по умолчанию группу «Новая группа (настраиваемая)», кликаем кнопку «Переименовать» и в диалоговом окне можем выбрать пиктограмму группы и в поле «Отображаемое имя» вводите нужное имя (например, «ТОП»);
- В выпадающем списке «Выбрать команды», выбираем «Макросы»;
- Указываем созданный нами макрос «Моя_программа»;
- Кликаем кнопку «Добавить» и перемещаем макрос в созданную нами группу «ТОП (настраиваемая);
- Выбираете перенесённую кнопку макроса в группе «ТОП», нажимаете кнопку «Переименовать» и вводите правильное имя (пробелы в имени допускаются) в диалоговом окне в поле «Отображаемое имя», там же выбираете и новую иконку для кнопки;
- Теперь осталось только подтвердить введенные изменения двойным подтверждением «ОК».
Источник
Exceltip
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Пошаговая инструкция по созданию надстройки Excel для ленты
Один из самых значимых навыков, которые я приобрел, работая финансовым аналитиком, является умение создавать специальные пользовательские надстройки для моего отдела и компании в целом. Этот навык позволил сохранить время и нервы для большого количества народа. Потратив более года, на то, чтобы научиться создавать первоклассные надстройки, я понял одну вещь – это совсем не сложно! И сегодня я хочу поделится с вами методом построения Excel надстройки, которая выглядит очень здорово, и которая приносит вашей карьере некоторые бонусы.
Оригинал статьи находится по ссылке
Данная статья делится на 5 простых шагов:
Шаг 1: Загрузить бесплатный шаблон (Я сделал всю рутину, которая отнимает время)
Шаг 2: Связать ваш макрос и описание с кнопкой на ленте
Шаг 3: Протестировать кнопку и убедиться, что она работает
Шаг 4: Выбрать иконку для кнопки (Micosoft предлагает их тысячи бесплатно)
Шаг 5: Сохранить ваш шаблон как надстройку
К чему мы должны прийти в конечном итоге:
Шаг 1: Загрузить шаблон
Я создал шаблон, в котором реализованы все основные рутинные операции. Этот шаблон позволит избежать траты вашего времени на создание сложного кода. Чтобы скачать его, щелкните по ссылке.
Шаг 2: Связываем ваш макрос
После того, как вы скачали и открыли файл, давайте немного изменим VBA код, чтобы связать код макроса запускающийся при нажатии определённой кнопки. В нашем примере мы создадим ленту со всего одной кнопкой.
- Скрываем не используемые группы и кнопки.
Открываем редактор Visual Basic (с помощью нажатия кнопок Alt + F11). Так как мы будем создавать ленту с одной единственной кнопкой, а шаблон содержит 50 кнопок, нам необходимо скрыть остальные 49. Чтобы сделать это, переходим в модуль RibbonSetup в программу GetVisible. Вы увидите Select Case цикл, который проходит через каждую кнопку и указывает ленте, будет ли кнопка видимой или скрытой. Так как мы ходим оставить только одну кнопку видимой, меняем аргумент переменной MakeVisible на False у всех кнопок, кроме одной.
- Добавляем код макроса
Далее, давайте добавим код нашего макроса в книгу. Мы создадим простейший код, который будет аналогичен команде Вставить только значения из буфера. Для этого переходим в модуль Macros и вставляем наш код.
Возвращаемся в модуль RibbonSetup, переходим к процедуре RunMacro. Добавляем имя макроса, который мы добавили до этого, к соответствующей кнопке (необходимо переписать DummyMacro).
- Добавляем надпись подсказки к макросу
Хороший способ помочь пользователям вспомнить для чего кнопка нужна – добавить всплывающую подсказку. Подсказка – это надпись, которая появляется рядом с кнопкой, когда на нее наводят курсор мыши. Вы постоянно видите эти надписи у нормальной ленты, но могли не обращать внимания на них. Чтобы добавить подсказку к нашей кнопке, переходим в процедуру GetScreentip и меняем аргумент у переменной Screentip на текст, который бы описывал назначение данной кнопке. В нашем случае напишем Вставить только значения.
- Добавляем имена вкладки, группы и кнопки
Чтобы закончить с настройкой кода, переходим в процедуру GetLabel, которая находится в модуле RibbonSetup. Точно так же, как мы добавляли текст вплывающей подсказки, вы можете добавить надписи, которые будут отображаться рядом с кнопкой на ленте.
К примеру, назовем нашу вкладку Company, нашу группу PasteSpecial, а кнопку Вставить значения. Из рисунка ниже понятно, что необходимо поменять аргумент переменной Labeling на текcт, который мы хотим отобразить на ленте.
На данном этапе мы связали наш макрос с кнопкой на ленте, дали ему имя и добавили подсказку для пользователей. Основные элементы настройки закончены. Переходим к шагу 3.
Шаг 3: Проверка работоспособности
Это очень быстрый, но важный этап. После того, как все элементы шага 2 были проделаны, сохраните и закройте книгу. Снова откройте, чтобы убедится все ли изменения, которые были сделаны, вступили в силу. Также проверьте работоспособность кода, который запускается при нажатии кнопки.
- Обратите внимание, что в нашем примере, программа будет выдавать ошибку после нажатия кнопки, если в буфере ничего нет, чтобы избежать этого, скопируйте, какой-нибудь диапазон и попробуйте воспользоваться кнопкой.
Шаг 4: Выбор иконок
Следующий шаг самый интересный – выбор иконок для надстройки. К счастью, Microsoft любезно предоставила полный доступ ко всем имеющимся иконкам в Microsoft Office.
Так как же получить все эти замечательные иконки? Для этого вам необходимо всего лишь сказать Microsoft, какую иконку вы планируете использовать, указав название иконки в коде макроса. Перейдите в процедуру GetImage и замените аргумент переменной RibbonImage у соответствующей строки. Так как в нашем примере мы имеем дело со вставкой, воспользуемся иконкой Вставить значения.
Как получить названия иконок?
Есть несколько ресурсов, где можно получить названия иконок для ленты, но лично я предпочитаю Excel файл, созданный компанией Microsoft, под названием Office 2007 Icons Gallery. В этом файле отображены все иконки, имеющиеся в наличии и находятся во вкладке Разработчик в 9 папках на ленте. Если вы наведете курсор мыши на иконку, программа отобразит всплывающую подсказку с названием иконки. Вам необходимо скопировать это имя дословно (с учетом регистра) и добавить его в макрос процедуры GetImage, как мы делали ранее.
Как изменить размер иконки?
Вы, наверное, обратили внимание, когда открывали файл впервые, что не все кнопки имеют одинаковый размер. Существует два доступных размера, который позволяет выбрать Excel – большой и маленький. Размер, который будут иметь кнопки, полностью зависит от вас. Вполне возможно, что вы захотите сделать важные кнопки большими, а остальные – маленькими, чтобы сэкономить место.
Чтобы изменить размер иконки, перейдите в процедуру GetSize и измените текст у соответвующей кнопки на Large или Small.
Вам понадобится сохранить и перезапустить файл, чтобы изменения вступили в силу.
Шаг 5: Сохранить файл как надстройку
Последний шаг, который необходимо сделать – это сохранить наш файл как надстройку. Надстройки Excel имеют расширение .xlam, так что убедитесь, что вы выбрали именно этот формат, когда будете сохранять книгу. После того, как вы сохранили файл надстройки, вы можете закрыть шаблон (.xlsm формат) и установить новую надстройку в программу. Для этого открываем любой файл Excel, переходим во вкладку Файл в пункт Параметры. Перед нами появится диалоговое окно Параметры Excel, переходим во вкладку Надстройки. Щелкаем кнопку Перейти, в появившемся окне ставим галочку напротив названия нашей надстройки и жмем кнопку OK.
На нашей ленте появилась новая вкладка под названием Company, та, которую мы создавали до этого. Теперь, данная вкладка будет отображаться во всех рабочих книгах Excel.
Мы закончили. Всего за 5 шагов, мы создали надстройку для ленты Excel, которую сможет использовать любой пользователь. Надеюсь, что я смог убедить вас в том, что создание надстроек не является сложным занятием. Теперь вы сможете применить полученные навыки по созданию надстроек для того, чтобы поразить вашего руководителя и даже руководителя руководителя.
Вам также могут быть интересны следующие статьи
11 комментариев
Очень интересная и полезная статья, Ренат!
Спасибо большое, хочется тоже что то похожее реализовать… А скажите пожалуйста, как создавать сами шаблоны? Любопытства ради интересуюсь.
Источник
Как сделать кнопку в Excel? Войдите в раздел «Разработчик», откройте меню «Вставить», выберите изображение и назначьте макрос, гиперссылку, переход на другой лист или иную функцию. Ниже подробно рассмотрим все способы создания клавиш в Эксель, а также приведем функции, которые им можно присвоить.
Как создать кнопку: базовые варианты
Перед тем как сделать кнопку в Эксель, убедитесь в наличии режима разработчика. Если такой вкладки нет, сделайте следующие шаги:
- Жмите по ленте правой клавишей мышки (ПКМ).
- В появившемся меню кликните на пункт «Настройка ленты …».
- В окне «Настроить ленту» поставьте флажок возле «Разработчик».
- Кликните «ОК».
После того, как сделана подготовительная работа, можно вставить кнопку в Excel. Для этого можно использовать один из рассмотренных ниже способов.
Через ActiveX
Основной способ, как создать кнопку в Excel — сделать это через ActiveX. Следуйте такому алгоритму:
- Войдите в раздел «Разработчик».
- Жмите на кнопку «Вставить».
- В появившемся меню выберите интересующий элемент ActiveX.
- Нарисуйте его нужного размера.
Через элемент управления
Второй вариант — создание кнопки в Excel через элемент управления. Алгоритм действий такой:
- Перейдите в «Разработчик».
- Откройте панель «Вставить».
- Выберите интересующий рисунок в разделе «Элемент управления формы».
- Нарисуйте нужный элемент.
- Назначьте макрос или другую функцию.
Через раздел фигур
Следующий способ, как добавить кнопку в Excel на лист — сделать это с помощью раздела «Фигуры». Алгоритм действий такой:
- Перейдите в раздел «Вставка».
- Войдите в меню «Иллюстрации», где выберите оптимальную фигуру.
- Нарисуйте изображение необходимой формы и размера.
- Кликните ПКМ по готовой фигуре и измените оформление.
В качестве рисунка
Вставка кнопки Excel доступна также в виде рисунка. Для достижения результата пройдите такие шаги:
- Перейдите во вкладку «Вставка».
- Кликните в категорию «Иллюстрации».
- Выберите «Рисунок».
- Определитесь с типом клавиши, который предлагается программой.
Какие кнопки можно создать
В Excel возможно добавление кнопки двух видов:
- Command Button — срабатывает путем нажатия, запускает определенное действие (указывается индивидуально). Является наиболее востребованным вариантом и может играть роль ссылки на страницу, таблицу, ячейку и т. д.
- Toggle Button — играет роль переключателя / выключателя. Может нести определенные сведения и скрывать в себе два параметра — Faste и True. Это соответствует двум состояниям — нажато и отжато.
Также перед тем как поставить кнопку в Эксель, нужно определиться с ее назначением. От этого напрямую зависят дальнейшие шаги. Рассмотрим разные варианты.
Макрос
Часто бывают ситуации, когда необходимо создать кнопку макроса в Excel, чтобы она выполняла определенные задачи. В обычном режиме для запуска нужно каждый раз переходить в раздел разработчика, что требует потери времени. Проще создать рабочую клавишу и нажимать ее по мере неободимости.
Если вы решили сделать клавишу с помощью ActiveX, алгоритм будет таким:
- Войдите в «Режим конструктора».
- Кликните дважды по ней.
- В режиме Visual Basic между двумя строками впишите команду, необходимую для вызова макроса., к примеру, Call Макрос1.
- Установите назначение для остальных графических объектов, если они есть.
Зная, как назначить кнопку в Excel, вы легко справитесь с задачей. Но можно сделать еще проще — жмите на рисунок ПКМ и в списке внизу перейдите в раздел «Назначить макрос». Здесь уже задайте интересующую команду.
Переход на другой лист / ячейку / документ
При желании можно сделать кнопку в Excel, которая будет отправлять к другому документу, ячейке или листу. Для этого сделайте следующее:
- Подготовьте клавишу по схеме, которая рассмотрена выше.
- Выделите ее.
- На вкладке «Вставка» отыщите «Гиперссылка».
- Выберите подходящий вариант. Это может быть файл, веб-страница, e-mail, новый документ или другое место.
- Укажите путь.
Рассмотренный метод не требует указания макросов и предоставляет расширенные возможности. При желании можно также использовать и макросы.
Существует и другой способ, как сделать кнопку в Excel для перехода к определенному листу. Алгоритм такой:
- Создайте рисунок по рассмотренной выше схеме.
- В окне «Назначить макрос» введите имя макроса, а после жмите на клавишу входа в диалоговое окно Microsoft Visual Basic.
- Вставьте код для перехода к другому листу — ThisWorkbook.Sheets(«Sheet1»).Activate. Здесь вместо Sheet1 укажите путь к листу с учетом запроса.
- Сохраните код и закройте окно.
Сортировка таблиц
При желании можно сделать клавишу для сортировки таблиц Excel. Алгоритм действий такой:
- Создайте текстовую таблицу.
- Вместо заголовков добавьте автофигуры, которые в дальнейшем будут играть роль клавиш-ссылок на столбцах таблицы.
- Войдите в Visual Basic режим, где в папке Modules вставьте модуль Module1.
- Кликните ПКМ по папке и жмите на Insert Module.
- Сделайте двойной клик по Module1 и введите код.
- Назначьте каждой фигуре индивидуальный макрос.
После выполнения этих шагов достаточно нажать по заголовку, чтобы таблица сортировала данные в отношении определенного столбца.
По рассмотренным выше принципам несложно разобраться, как в Экселе сделать кнопки выбора и решения других задач. В комментариях расскажите, какой из приведенных методов вам подошел, и как проще всего самому сделать клавишу в программе.
Отличного Вам дня!
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
В принципе тема создания своих элементов управления в меню Microsoft Office достаточно специфичная. Обычно задачи при работе с Office из Delphi сводятся к простым действиям, таким как: открыть документ, прочитать/записать данные, закрыть документ. При этом совсем не обязательно, чтобы в меню Office «светилась» кнопка Вашего приложения. Мне создание нового контрола на ленте Microsoft Excel 2007 потребовалось для решения следующей задачи.
Есть две стандартные формы документов, разработанные в Excel. В первую форму заносятся данные по годовым выбросам загрязняющих веществ предприятия. Второй документ — стандартная форма отчёта по затратам предприятия на природоохранные мероприятия — создается на основании первой формы и набора данных и БД по запланированным/выполненным природоохранным мероприятиям. Действия пользователя были следующими: открыть первую форму, записать данные, рассчитать плату за выбросы, открыть вторую форму, записать эти данные, добавить данные из БД (при этом вначале сделать выборку данных), сохранить формы и отправить по адресу или распечатать. В общем рутинная работа. Как можно было избавить и себя и других от подобной рутины? Я написал небольшое приложение, которое при первом запуске создавало свой контрол в меню Excel. При нажатии на кнопку в меню запускалось приложение, которое автоматически вытаскивало все данные из первой формы, рассчитывало издержки, добавляло эти данные во вторую форму и по запросу пользователя выписывало данные из БД. Т.е. по сути вся рутина осталась только на этапе формирования первой формы. При этом не надо было сохранять документ, указывать программе где он лежит и т.д. Все делается не выходя из Excel — нажал на кнопку — получил результат…Что-то я уже полез в специфику работы Перейдем лучше непосредственно к теме поста.
Итак, все элементы управления Microsoft Office располагаются на панелях (коллекция CommandBars), следовательно, чтобы создать какой-либо элемент управления нам необходимо:
1. Получить доступ к коллекции CommandBars;
2. Найти необходимую нам панель (CommandBar);
3. Добавить новый элемент управления (Control) на панель;
4. Указать необходимые свойства для элемента управления (параметры командной строки, иконку и т.д.)
Сейчас я не буду повторяться и расписывать все предварительные процедуры и функции как то: определить установлен ли Excel или как определить запущен ли Excel и т.д. всё это Вы можете найти в статье «Работа с Excel в Delphi. Основы основ.«, а начну сразу с первого пункта списка.
1. Получаем доступ к коллекции CommandBars
Для того, чтобы перечислить все элементы ControlBar из коллекции CotrolBars нам необходимо получить доступ к объекту Excel.Application как это делается описано в этой статье. Пусть ссылка на наш объект будет содержаться в переменной:
Перечислить все элементы коллекции CommandBars объекта Excel.Application можно, используя её свойства:
1. Count — количество элементов в коллекции;
2. Item — отдельный элемент коллекции (CommandBar)
Например, выпишем все имена панелей Excel в ListBox:
var CommandBar:OLEVariant; for i:=1 to MyExcel.CommandBars.Count do begin CommandBar:=MyExcel.CommandBars.item[i]; ListBox1.Items.Add(CommandBar.Name); end;
После выполнения этого цикла у меня в списке ListBox оказалось 164 элемента и некоторые из элементов вообще не имели никакого названия. Но нам это пока не важно. Нам необходимо найти панель с именем Standard — именно на неё мы добавим новый контрол. Для поиска необходимой панели можно воспользоваться методом коллекции FindControl либо, использовать приведенный выше цикл для поиска панели по её имени. Для того, чтобы добавить новый элемент управления на CommandBar необходимо воспользоваться методом Add коллекции CommandBarControls, который имеет следующие параметры:
Type: integer — тип элемента. Может принимать значения: msoControlButton=1, msoControlEdit=2, msoControlDropdown=3, msoControlComboBox=4, или msoControlPopup=10;
Id: integer — идентификатор объекта;
Parameter: string — имя связанной с данным элементом команды;
Before: integer — позиция нового контрола на панели, если параметр не указан то новый элемент добавляется последним в коллекцию.
Temporary: boolean — указывает будет ли новый контрол удален после закрытия создавшего его приложения.
Попробуем добавить новый контрол на панель Microsoft Excel:
var RibbonBar: OLEVariant;//элемент CommandBar с именем Standard NewControls:Variant;//новый элемент управления begin NewControls:=RibbonControlBar.Controls.Add(Type:=1,id:=1); NewControls.Caption:='New Caption';//подпись кнопки NewControls.TooltipText:='c:Windowsnotepad.exe';//подсказка. одновременно может быть использована для запуска приложения NewControls.HyperlinkType:=1;//указывает на то, что по клику будет открыта ссылка NewControls.FaceId:=10;//идентификатор стандартного изображения кнопки NewControls.Style:=3;//стиль кнопки end;
После выполнения этого кода в ленте Excel появится новая вкладка «Надстройки» с кнопкой:
По нажатию на кнопке будем запущен Блокнот. Приведенный выше пример добавления новой кнопки на панель Excel — это один из нескольких способов. В связи с тем, что Microsoft Office 2007 обзавелся новым интерфейсом Ribbon появился как минимум ещё один способ работы с панелями и элементами управления, который является более предпочтительным в настоящее время. Однако мне хватило и приведенного выше ;).
Книжная полка
Название:Разработка приложений Microsoft Office 2007 в Delphi Описание Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi. |
Купить на ЛитРес |
0
0
голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.