【问题标题】:Add standard command button "New Slide" to custom ribbon in office add-in将标准命令按钮“新建幻灯片”添加到 Office 插件中的自定义功能区
【发布时间】:2015-02-23 12:09:25
【问题描述】:

我在插件中创建了我的自定义功能区。现在我想添加主屏幕中存在的新建幻灯片命令(请参见下面的屏幕截图)。

【问题讨论】:

  • 如果你想为 PowerPoint 自定义功能区你可以为 PowerPoint 创建插件项目。
  • @ShariqueAnsari:我创建了一个插件,我想将主页上的这张新幻灯片调用到我创建的插件功能区。我想在我的插件中使用这个功能,这样用户就不必来回移动到其他功能区。具有附加功能
  • 主页上的新幻灯片??你能分享你的代码吗?它将帮助我们更好地理解。
  • 您可以通过右键单击该按钮添加到快速访问工具栏,为什么要在菜单中添加它会更容易?

标签: vsto powerpoint add-in ribbonx


【解决方案1】:

【讨论】:

    【解决方案2】:

    我想经过大量搜索后,我终于弄明白了! 这是您需要的所有代码,删除其他所有代码 这将创建一个新的幻灯片按钮,就像 PowerPoint 中的默认按钮一样

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

    credit

    【讨论】:

      【解决方案3】:

      我目前在我的插件中有新的幻灯片按钮,如下图所示,它为我提供了一张新幻灯片

      但是我想要像主页功能区中已经存在的新幻灯片这样的选项,我可以在其中选择模板。有没有办法在我的自定义功能区中调用此按钮,所以下面是我的新闻幻灯片,这是我想要在我的插件中获得的

        private void New_slide_Click(object sender, RibbonControlEventArgs e)
          {
      
              PowerPoint.Application ppApp = Globals.ThisAddIn.Application;
              ppApp.CommandBars.ExecuteMso("SlideNewGallery");
          }
      

      【讨论】:

      • 正如我上面写的,你需要在Office 2013 Help Files: Office Fluent User Interface Control Identifiers中找到内置控件ID,并为自定义控件的idMso属性指定它。
      • 检查上面已编辑的答案,我已将执行 mso 添加到新的滑动按钮。但它只是添加了新幻灯片。我什至想要像 img 2 所示的下拉选项
      • 也许这不是评论,而是在问题中更新?
      【解决方案4】:

      我在 VS 中创建了一个新的基于 xml 模板的功能区。之后,我添加了一个基于 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>
      

      这会生成自定义功能区。 Eugene Astafiev指出来,你可以找到idMso-Values in MSDN

      【讨论】:

      • 我正在使用设计器,所以我添加了一个按钮 .. 将 OfficeImageid 设为 idmso,因此这会创建一个按钮 juzt 的图像,就像它存在于家中一样。并且当我给出这个查询时执行 private void New_slide_Click(object sender, RibbonControlEventArgs e) { PowerPoint.Application ppApp = Globals.ThisAddIn.Application; ppApp.CommandBars.ExecuteMso("SlideNewGallery");效果很好。我的问题是新幻灯片中的下拉选项来选择模板,就像我的第二个答案的第二张图片中显示的那样。
      • mvps.org 上有一篇关于 了解自定义布局 的好文章。您可以在那里找到如何获取当前可用的布局。不幸的是,我未能将它们动态添加到 splitButton....
      • 代码和截图怎么好像不一致?我看不到“Neue Folie”按钮的代码
      • 使用 idMso 是正确的解决方案。谢谢!我喜欢用 Ribbon Editor 来编辑 Ribbon andypope.info/vba/ribboneditor.htm
      【解决方案5】:

      正如Franz 所解释的,解决方案是使用 idMso。 对于您正在寻找的新幻灯片命令,如果您在idMso Table 中查看 MSN 中的“新幻灯片”,您会发现两个条目。 您正在寻找的是带有 idMso=SlideNewGallery 的 Gallery。 (不是按钮)。 您可以在 XML 中添加它。我喜欢使用Ribbon Editor。 使用功能区编辑器,它看起来像这样:

      在插件中它看起来像这样:

      CustomUI XML 相关部分如下所示

      <group id="TD_GrpMisc" label="Misc">            
              <gallery 
                  idMso="SlideNewGallery"
                  size="large"/>
              <button 
                  idMso="SlideNew"
                  size="large"/>
      </group >
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-20
        • 1970-01-01
        • 2014-09-02
        • 2013-08-27
        • 2021-01-21
        • 1970-01-01
        • 2020-09-09
        • 1970-01-01
        相关资源
        最近更新 更多