Автор Тема: Создание своей вкладки на ленте с помощью XML.  (Прочитано 3478 раз)

Оффлайн Администратор

  • Administrator
  • Сообщений: 1561
В этом сообщении рассматривается создание вкладки с одной кнопкой
  • Создайте пустой файл-надстройку (в "Excel 2010" - это файл с расширением "xlam",   в "Word 2010" - это файл с расширением "dotm");
  • закройте файл-надстройку;
  • щёлкните по файлу-надстройке правой кнопкой мыши - "Открыть с помощью" - выберите программу для сжатия (например, "7-Zip File Manager") - "OK";
  • вы увидите содержимое файла-надстройки: папки и файлы;
  • скопируйте файл ".rels" из сжатой папки на Рабочий стол и откройте файл ".rels";
  • в конце файла ".rels", перед текстом "</Relationships>" вставьте вот этот текст:
    <Relationship Id="customUI2007RelID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>
  • сохранитесь, закройте файл ".rels" и поместите этот файл обратно в сжатую папку;
  • в этом сообщении есть сжатый файл "Forum_CustomUI.zip". Извлеките из него папку "customUI" на Рабочий стол и поместите эту папку в сжатый файл (сжатый файл надстройки) в главную папку (главная папка называется "корневая папка");
  • закройте сжатую папку и подключите надстройку. Например, в "Excel 2010" надстройка подключается так: вкладка "Разработчик" (по умолчанию этой вкладки нет - пользователь должен сам отобразить эту вкладку) - группа "Надстройки" - "Надстройки" - "Обзор...";
  • на ленте должна появиться новая вкладка.
Чтобы при нажатии кнопки запустился макрос, нужно сделать два действия:
  • нужно указать в файле "customUI.xml" в параметре "onAction" имя процедуры. Файл "customUI.xml" можно посмотреть, открыв файл-надстройку программой для сжатия;
  • нужно в VBA, в процедуре указать аргумент:
    Sub Procedure_1(myControl as IRibbonControl)
Примечание 1

В "onAction" нужно указывать полный путь к процедуре, чтобы кнопка запускала нужную процедуру:
  • в Excel нужно указывать: Имяпроекта.Имямодуля.Имяпроцедуры;
  • в Word нужно указывать: Имямодуля.Имяпроцедуры (Имяпроекта не работает в Word).
Где посмотреть "Имяпроекта"? В этом сообщении есть скриншот "Forum_VBAProject.png". Вам нужно взять то, что подчёркнуто красным, до круглых скобок. На рисунке "Имяпроекта" - это "VBAProject". Имя "VBAProject" Вы можете изменить, чтобы имя стало уникальным, например, можно добавить дату и время: VBAProject160520141735.

Примечание 2

Есть специальные программы для создания кнопок на ленте. Эти программы полностью не автоматизируют работу с лентой, но упрощают некоторые действия. При использовании этой программы вам всё равно нужно будет знать какие-то детали для работы с лентой.