В някои ситуации може да искате да промените лентата на Excel автоматично, когато се отвори работна книга или добавка. Това прави лесен за потребителя достъп до вашия макрос. Освен това елиминира необходимостта потребителят да променя ръчно лентата с помощта на диалоговия прозорец Опции на Excel.
Можете да правите автоматични промени в лентата с Excel 2007 и по-нови версии, но това не е проста задача. Промяната на лентата включва писане на XML код в текстов редактор, копиране на този XML файл във файла на работната книга, редактиране на куп XML файлове (които също са скрити във файла на Excel, който в действителност не е нищо повече от компресиран контейнер с отделни файлове), и след това написване на VBA процедури за обработка на щракването върху контролите, които сте поставили в XML файла.
За щастие е наличен софтуер, който да ви помогне с персонализирането на лентата – но все пак трябва да сте запознати с XML.
Следвайте точно тези стъпки:
Създайте нова работна книга на Excel.
Запазете работната книга и я наречете лента modification.xls.
Затворете работната книга.
Стартирайте Custom UI Editor за Microsoft Office.
Ако нямате този софтуер, трябва да го намерите и да го инсталирате. Вижте близката странична лента „Вземете софтуера“.
В Custom UI Editor изберете File → Open и намерете работната книга, която сте запазили в стъпка 2.
Изберете Insert → Office 2007 Custom UI Part.
Изберете тази команда, дори ако използвате Excel 2010, Excel 2013 или Excel 2016.
Въведете следния код в кодовия панел (с име customUI.xml), показан в редактора на потребителски интерфейс:
Кодът на RibbonX, показан в редактора на потребителски интерфейс.
Щракнете върху бутона Validate в лентата с инструменти.
Ако кодът има синтактични грешки, получавате съобщение, което описва проблема. Ако бъдат идентифицирани грешки, трябва да ги коригирате.
Щракнете върху бутона Генериране на обратно повикване.
Персонализираният UI редактор създава VBA подпроцедура, която се изпълнява при щракване върху бутона. Тази процедура всъщност не е вмъкната в работната книга, така че трябва да я копирате за по-късна употреба (или да я запомните, ако имате добра памет).
Процедурата за обратно извикване на VBA, която се изпълнява чрез щракване върху бутона на лентата.
Върнете се към модула customUI.xml и изберете File → Save (или щракнете върху иконата Save в лентата с инструменти).
Затворете файла, като изберете командата Файл → Затвори.
Отворете работната книга в Excel и щракнете върху раздела Начало.
Трябва да видите новата група лента и бутон лента. Но все още не работи.
Натиснете Alt+F11, за да активирате VBE.
Поставете нов VBA модул; поставете (или въведете) процедурата за обратно извикване, която е генерирана в Стъпка 9; и добавете изявление MsgBox, така че ще знаете дали процедурата действително се изпълнява.
Процедурата е
Sub ShowMessage(контрол като IRibbonControl)
MsgBox „Поздравления. Намерихте новата команда за лента.“
Край под
Натиснете Alt+F11, за да се върнете към Excel, и щракнете върху новия бутон на лентата.
Ако всичко върви добре, ще видите MsgBox.
Доказателство, че добавянето на нова команда за лента с помощта на XML всъщност е възможно.
В Custom UI Editor, когато изберете Insert → Office 2007 Custom UI Part, вие вмъквате UI част за Excel 2007. Персонализираният UI Editor също има опция за вмъкване на UI част за Excel 2010 (софтуерът, който използвах, не е бил актуализиран за Office 2013 или Office 2016). За максимална съвместимост използвайте частта за потребителски интерфейс на Excel 2007.
Вероятно осъзнавате, че модифицирането на лентата с помощта на XML не е точно интуитивно. Дори и с добър инструмент за помощ (като персонализирания UI редактор), все още трябва да разбирате XML. Ако това ви звучи привлекателно, потърсете в мрежата или намерете книга, посветена изключително на персонализирането на интерфейса на лентата в Microsoft Office.