Несколько месяцев назад я получил письмо от пользователя, в котором меня спрашивали о возможности назначить для кнопки макроса (выведенного на панель быстрого доступа в редакторе Word 2007) своей иконки.
Как известно, в прежних версиях редактора можно было назначить для любой команды на панели инструментов свою собственную картинку. Можно было отредактировать иконку на кнопке или нарисовать собственную с помощью окна Редактор кнопок :
В редакторе Word 2007 этой возможности нет.
Однако, на прошлой неделе я просматривал сайт Грэга Макси (Greg Maxey) и обнаружил у него , в которой он предлагает свое решения этой проблемы.
Мне показалось интересной его статья и я повторил эксперимент.
Все удалось, но многое пришлось додумывать самостоятельно. В этой заметке я расскажу своими словами суть решения и покажу, как можно назначить свою иконку для собственных макросов.
Во-первых, необходимо скачать и установить у себя специальную программу для редактирования XML-скриптов — . Можно использовать и альтернативный редактор (с дополнительными функциями), созданный Максимом Новиковым — .
Замечу также, что на своем сайте Максим опубликовал замечательную статью-инструкцию в трех частях .
Во-вторых, подготовьте картинку для вашей иконки-кнопки. Она должна быть в формате PNG или GIF. Если у вас нет подходящей картинки, то вы можете создать ее в упомянутом Редакторе кнопок Word 2003. После того, как вы нарисовали иконку в редакторе, скопируйте ее:
После этого откройте любой графический редактор, вставьте скопированное изображение и сохраните его в нужном формате.
В-третьих, запустите редактор Word 2007 и откройте в режиме редактирования ваш шаблон с макросами или документ с вашими макросами. Шаблон должен быть пересохранен в формате DOTM, а документ в формате DOCM. Закройте теперь все документы и сам редактор.
В-четвертых, запустите редактор XML-скриптов (я использую Office 2007 Custom UI Editor) и откройте в нем ваш шаблон или документ.
В-пятых, вставьте в окно редактора следующий код:
Кратко объясню, что делает этот скрипт. С его помощью мы создаем собственную вкладку на ленте с заголовком «Моя вкладка». На этой вкладке будет создана группа команд с наименованием «Группа», в которой будет размещена кнопка с нашей картинкой (имя файла картинки «face_me»). По щелчку на этой кнопке будет выполняться макрос, который вы определите для кнопки. В данном примере, это макрос с именем «MyNewAvatar».
В-шестых, подключим к документу выбранную заранее картинку. Для этого щелкаем на кнопке Insert Icons:
Находим и выбираем свою картинку. Ее иконка должна появиться в правой панели редактора:
ID (идентификатор) картинки нужно вставить в наш код в тег Image (cмотрите код выше). У меня это image=”face_me”.
В-седьмых, сохраняете файл и открываете в редакторе Word 2007 ваш документ или шаблон, для которого вы делали иконку. Должно получиться примерно следующее:
Как видите, все получилось. Но если вы сейчас нажмете на кнопку, то скорее всего появится сообщение, что не найден макрос. Это значит, что в вашем документе (шаблоне) нет макроса с именем, который вы задали для кнопки. Напоминаю, в моем случае в коде это onAction=”MyNewAvatar«. Но перед этим отредактируйте код макроса, добавив в скобки следующий агрумент:
Должно получиться примерно следующее (мой тестовый макрос):
Замените имя макроса на имя вашего макроса и проверьте работоспособность.
Кстати, проверить правильность вызова макроса можно и из редактора XML-скриптов, нажав на кнопку Generate Callbacks:
Откроется новая вкладка с октрывающим и закрывающим операторами кода на VBA:
Чтобы добавить иконку на панель быстрого доступа (и не создавать собственную вкладку), нам потребуется слегка изменить код скрипта и выполнить дополнительные действия для размещения на панели своей кнопки.
- Открываем наш документ в редакторе XML-скриптов и вставляем следующий код:
- Добавляете иконку-картинку, как это было описано выше.
- Сохраняете файл.
- Открываете документ (шаблон) в редакторе Word 2007.
- Щелкаете на кнопке Настройка панели быстрого доступа:
и выбираете из раскрывшегося меню команду Другие команды. Откроется диалоговое окно Параметры Word.
- В поле Выбрать команды из: выбираете строку Все команды. Ниже в панели появляется список всех доступных команд редактора.
- Находите и выбираете вашу команду (в моем случае это «Моя кнопка»):
Затем нажимаете кнопку Добавить, чтобы перенести команду на панель быстрого доступа.
- Закрываете окно и тестируете получившийся результат. Он должен выглядеть примерно так:
Вот и все!