Добавить стандартную командную кнопку «Новый слайд» на настраиваемую ленту в надстройке Office

Я создал свою индивидуальную ленту в надстройке. Теперь я хотел бы добавить команду Новый слайд, которая существует на главном экране (см. снимок экрана ниже).

Исходная лента Powerpoint


person test    schedule 23.02.2015    source источник
comment
если вы хотите настроить ленту для PowerPoint, вы можете создать проект надстройки для PowerPoint.   -  person Sharique Ansari    schedule 23.02.2015
comment
@ShariqueAnsari: я создал надстройку, которую я хочу назвать этим новым слайдом, который находится на домашней странице, для моей созданной ленты «Добавить в». Я хочу использовать эту функцию в своей надстройке, чтобы пользователям не приходилось переходить туда и обратно на другие ленты. с дополнительными функциями   -  person test    schedule 23.02.2015
comment
новый слайд на главной странице?? Можете ли вы поделиться своим кодом, это поможет нам лучше понять.   -  person Sharique Ansari    schedule 23.02.2015
comment
Вы можете добавить панель быстрого доступа, щелкнув правой кнопкой мыши по этой кнопке, так будет проще, почему вы хотите добавить ее в меню?   -  person Sharique Ansari    schedule 23.02.2015


Ответы (5)



Я думаю, что после долгих поисков я, наконец, понял это! Это весь код, который вам нужен, удалите все остальное. Это создаст новую кнопку слайда, такую ​​же, как та, которая по умолчанию используется в PowerPoint.

<group id="add_slide" label="Add Slide">
  <control idMso="SlideNewGallery" size="large" />
</group>

кредит

person Gaurav Agnihotri    schedule 25.01.2021

в настоящее время у меня есть новая кнопка слайда в моей надстройке, как на изображении ниже, которое дает мне новый слайдвведите описание изображения здесь

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

введите здесь описание изображения

  private void New_slide_Click(object sender, RibbonControlEventArgs e)
    {

        PowerPoint.Application ppApp = Globals.ThisAddIn.Application;
        ppApp.CommandBars.ExecuteMso("SlideNewGallery");
    }
person test    schedule 26.02.2015
comment
Как я уже писал выше, вам нужно найти идентификатор встроенного элемента управления в Файлы справки Office 2013: идентификаторы элементов управления пользовательского интерфейса Office Fluent и укажите его для свойства idMso пользовательского элемента управления. - person Eugene Astafiev; 26.02.2015
comment
проверьте приведенный выше отредактированный ответ, я добавил выполнить mso к новой кнопке слайда. Но это просто добавляет новый слайд. я хочу даже выпадающий вариант, как показано на img 2 - person test; 26.02.2015
comment
Может быть, это будет не комментарий, а обновление в вопросе? - person Thierry Dalon; 21.09.2016

Я создал новую ленту на основе шаблона xml в VS. После этого я добавил группу и элемент управления на основе idMso-Value. При использовании этого XML-файла

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab id="tab0" label="AddIn">
        <group id="grpCustom">
          <button idMso="SlideNew" size="large" label="YOUR CUSTOM TEXT"></button>
        </group>
        <group idMso="GroupSlides"></group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Это приводит к этой пользовательской ленте. Евгений Астафьев указал на это, вы можете найти значения idMso в MSDN.

настраиваемые элементы управления ленты

person Pilgerstorfer Franz    schedule 26.02.2015
comment
я использую конструктор, поэтому я добавил кнопку .. дал OfficeImageid как idmso, так что это создает изображение кнопки точно так же, как оно существует дома. а также при выполнении, когда я даю этому запросу private void New_slide_Click (отправитель объекта, RibbonControlEventArgs e) { PowerPoint.Application ppApp = Globals.ThisAddIn.Application; ppApp.CommandBars.ExecuteMso(SlideNewGallery); } он отлично работает. Моя проблема заключается в раскрывающемся списке на новом слайде для выбора шаблона, как показано на 2-м изображении моего 2-го ответа, это то, что я хочу. - person test; 27.02.2015
comment
Как-то не нравится код и скриншот? Я не вижу код кнопки Neue Folie - person Thierry Dalon; 21.09.2016

Как объяснил Franz, решение состоит в использовании idMso. Для команды «Новый слайд», которую вы ищете, если вы посмотрите на MSN в Таблица idMso для «Нового слайда» вы найдете две записи. Вам нужна галерея с idMso=SlideNewGallery. (не кнопка). Вы можете добавить его в XML. Мне нравится использовать редактор ленты. В редакторе ленты это выглядит так: Редактор ленты: добавьте команду idMso

А в надстройке это выглядит так: Добавить ленту со стандартной командой

Соответствующая часть CustomUI XML выглядит следующим образом

<group id="TD_GrpMisc" label="Misc">            
        <gallery 
            idMso="SlideNewGallery"
            size="large"/>
        <button 
            idMso="SlideNew"
            size="large"/>
</group >
person Thierry Dalon    schedule 21.09.2016