Статьи из блога

Статьи из блога

Word 2007: добавляем свою вкладку и свои команды

Рубрика: Вопрос-Ответ, Настройка Word, Шаблоны Word
Метки: | | |
Воскресенье, 14 июня 2009 г.
Просмотров: 1312
Подписаться на комментарии по RSS
Версия для печати

[Ссылки на статью]


Ирина задала вопрос о настройке новой версии редактора Word для своих нужд. В частности, она спрашивала:

Я работаю с офисом 2007 уже не первый год, но есть одно неудобство для меня. В предыдущих версиях можно было настраивать менюшки по усмотрению и необходимости. В этом выпуске я не смогла полностью настроить программу "под себя". Видела пару ссылок на публикации, но к сожалению не владею ни английским, ни языком программирования.

Если можно, помогите доступно объяснить.

Есть две новости: хорошая и ограничительная. Хотя, какие это новости? Описываемые ниже возможности были доступны с самого начала.

Итак, хорошая новость: ленту Office 2007 можно настроить по своему усмотрению и под свои нужды. Но тут же в игру вступает ограничительная новость: для того, чтобы настроить ленту под себя, нужны определенные знания языка программирования VBA и разметки XML. Либо, как вариант, нужна определенная сумма денег на покупку специальных программ:

  1. Ribbon Customizer for Office 2007
  2. RibbonCustomizer
Обе эти программы после установки встраиваются в ваш Word. Только первая программа сразу же добавляет новую вкладку "МЕНЮ" в стиле редактора Word 2003 и свою кнопочку, по щелчку на которой загружается ее программа-настройка ленты. А вторая программа (она мне показалась проще и легче) встраивает во вкладку "Вид" свою кнопку и предлагает настроить ленту по своему усмотрению.

Разумеется, обе программы на английском, хотя "Ribbon Customizer for Office 2007" при установке позволяет выбрать любой язык, например, белорусский. А вот русского в ней как не было, так и нет.

Для тех же пользователей, кто не хочет покупать вышеозвученные программы, либо не разбирается в программировании, я могу предложить только один варинт настройки ленты: воспользоваться пошаговым мастером, который позволит вам добавить новую вкладку со своими (часто используемыми) командами на ленту. Я покажу, как добавить на ленту вкладку с именем "Моя вкладка", содержащей следующие стандартные кнопки-команды:

  • Создать новый документ
  • Открыть документ
  • Сохранить документ
  • Сохранить как...
  • Закрыть окно

Вот как это будет выглядеть в результате:

Новая вкладка ленты

По образу и подобию вы можете впоследствии добавить свои команды на эту вкладку, либо же самостоятельно создать новую вкладку. Кое-что из нижеописываемого я уже приводил в своей ранней заметке Как назначить свою иконку для макроса в Word 2007. Поэтому обе эти статьи можно считать близнецами с небольшими различиями в содержании.

Итак, самым первым действием следует скачать программу для редактирования XML-содержимого ленты Office 2007 Custom UI Editor, хотя наверное можно будет воспользоваться и обычным текстовым редактором типа Notepad.

Далее описывается пошаговая инструкция с использованием редактора UI Editor. Мы будем изменять глобальный шаблон Normal.dotm, поэтому для начала сохраните этот шаблон в качестве резервной копии где-нибудь на жестком диске или на ином носителе, чтобы при желании вы могли просто восстановить ваш первоначальный шаблон. Это действие обязательно!

  1. Удостоверьтесь, что редактор Word у вас не запущен и ни один документ не открыт. Если это не так, то закройте все документы и обязательно закройте редактор Word.
  2. Запустите редактор XML-скриптов - Office 2007 Custom UI Editor и откройте в нем шаблон Normal.dotm. Как правило, путь к этому шаблону таков: C:\Documents and Settings\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Application Data\Microsoft\Шаблоны\

    Поскольку лента стандартная, то окно редактирования будет пустым.

  3. Вам нужно добавить свою вкладку на ленту, причем она должна отображаться самой первой и идти перед вкладкой "Главная". Для этого вставьте в окно редактора следующий код:

    Этим кодом мы добавили на ленту нашу вкладку с именем "Моя вкладка", которая располагается перед стандартной вкладкой "Главная". Можете сохранить изменения в редакторе кода и запустить редактор Word для просмотра промежуточного результата. Вы должны увидеть следующую картину:

    Новая вкладка на ленте
  4. Закроем редактор Word и продолжим добавление элементов уже на нашу новосозданную вкладку.
  5. Поскольку вкладка пустая, мы должны добавить на нее группу команд. Вставьте следующее выражение между тегами ‘tab’ и ‘/tab’ вашего кода (выделено):

    Сохраните вновь изменения и снова откройте Word. Результат на скриншоте:

    Новая вкладка на ленте
  6. Итак, мы создали вкладку и группу, в которую теперь должны разместить наши кнопки-команды. Закройте редактор Word и вернитесь в окно редактора кода XML.
  7. Первой добавленной кнопкой у нас будет команда "Создать новый документ". Для этого поместите между тегами ‘group’ и ‘/group’ следующий код (выделено):

  8. Можете, сохранив изменения, посмотреть на результаты:

    Новая кнопка-команда на вкладке ленты

    Но я рекомендую вам прежде добавить все запланированные кнопки. Вот код для остальных кнопок:

  9. Итоговый код в редакторе кода будет выглядеть так:

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

Вот ссылка на текстовый файл с описываемым здесь кодом XML. Можете скачать и вставить напрямую в редактор кода с вашим шаблоном:

http://wordexpert.ru;/wp-content/uploads/files/xml_code.txt;Код XML для шаблона;

Недавно, учитывая пожелание сценариста Александра Волкова, я разработал шаблон "Сценарий", предназначенный для автоматизации написания киносценариев. Я полностью избавился от стандартной ленты и создал собственную ленту с тремя вкладками:

В шаблоне нет ничего лишнего, только самое необходимое. Шаблон можно скачать со страницы Полезности Word. В архиве шаблона находится и инструкция по установке и работе с инструментами шаблона.

Если у вас есть вопросы и пожелания по этой заметке, то прошу вас задавать их в комментариях. Постараюсь ответить в меру своих познаний.

Комментариев: 14

  1. Юрий (анонимно)
    14.06.2009 в 19:26 | #1

    Подскажите, пожалуйста, где можно найти идентификаторы для добавляемых кнопок?

  2. 15.06.2009 в 09:31 | #2

    Юрий, идентификаторы любой команды можно получить, если открыть диалог "Настройка панели быстрого доступа" и навести мышью на наименование команды. Появится подсказка, типа изображенной на скриншоте:

    скрин

    Либо можно скачать файл на сайте Майкрософт: Ссылка.

  3. Luna (анонимно)
    15.06.2009 в 20:35 | #3

    Или ждите версию Office 2010, где наконец-то вернули возможность простым образом редактировать ленты и кнопки на них…

  4. 15.06.2009 в 21:00 | #4

    Luna, эта информация верна? Откуда?

  5. 15.06.2009 в 21:11 | #5
  6. 16.06.2009 в 08:41 | #6

    Что ж, первые впечатления неплохие. Посмотрим как оно будет вживую.

  7. Виталий (анонимно)
    02.09.2009 в 23:07 | #7

    Возможно ли добавлять и скривать кнопки ... с уже существующих груп mso??7

  8. 03.09.2009 в 04:43 | #8

    Виталий, вы можете скрыть вкладку целиком или отдельные встроенные группы (целиком) с вкладки, но не встроенные кнопки в этих группах команд.

    P.S. Да, и добавить свои кнопки в существующие группы (встроенные) команд нельзя. Но свою группу со своими (или заводскими) кнопками добавить можно.

  9. Виталий (анонимно)
    05.09.2009 в 14:33 | #9

    Спасибо за ответ я так и думал.. Есть правда один вариант но долгий. Просто пересоздать групу и или удалить, или добавить кнопки. Я так решил эту проблему...

  10. Никита (анонимно)
    11.09.2009 в 05:54 | #10

    Подскажите, возможно ли добавить на созданную вкладку свой мобственный макрос. Если да, то где смотреть его идентификатор?

  11. 11.09.2009 в 06:57 | #11

    Имя макроса, который выполняется вашим элементом управления, записывается в свойстве onAction. Посмотрите эту заметку в моем блоге

  12. Максим (анонимно)
    21.10.2009 в 12:35 | #12

    Сделал в точности все как описывалось в статье. Редактирование глобального шаблона производил с помощью программы Office 2007 Custom UI Editor. Так же использовал ваш код XML для шаблона, чтобы не вводить вручную.

    Но когда запустил Ворд. Ничего не изменилось, своей вкладки как не было. Даже на всякий случай проверил потом еще раз шаблон. Мои изменения в нем действительно сохранились, но ни к каким изменениям интерфейса это не привело, даже не повлияло на работоспособность Ворда, хотя я подразумевал обратное и на этот случай архивировал шаблон...

    С чем это может быть связано?

    Заранее спасибо.

  13. 21.10.2009 в 12:49 | #13

    Максим, а при открытии документа Ворд не выдает сообщения об ошибках? Если нет, то включите параметр "Показывать ошибки интерфейса пользователя надстроек", который располагается на вкладке "Дополнительно" диалогового окна "Параметры Word" (группа "Общие").

    Если после этого появятся сообщения об ошибке, значит вы все-таки где-то допустили ошибку при вводе данных.

  14. Максим (анонимно)
    21.10.2009 в 13:36 | #14

    Максим, а при открытии документа Ворд не выдает сообщения об ошибках? Если нет, то включите параметр "Показывать ошибки интерфейса пользователя надстроек"

    Точно!=) Стали всплывать ошибки:

    "код ошибки oxcooee3b, имя в конечно теге элемента должно совпадать с типом элемента в начальном теге"

    Видно где-то я переусердствовал...

    Я первый раз пробую программировать и настраивать интерфейс Ворда. Раньше никогда этим не занимался.

    Спасибо за совет=), буду разбираться.

Оставьте комментарий!

(обязательно)

Number one designer
^ Наверх