Search code examples
ms-wordadd-inoffice-2013

Add a service to "Share" tab in Word 2013


Is there a way to add a new service next to "Invite People", "Email", "Present Online", and "Publish as blog post"? I know you can add another source for the "save" and "open" tabs, but what about the "Share"?

enter image description here


Solution

  • You can do that via "backstage" customization - i.e. you can embed your items in any of the built-in tabs in fact. You could do that either on document/template level (so that this new option is only available for a specific document/for a documents created out of specific template), or on "application" level by building an add-in for Word which adds this option.

    Check out these articles:

    Introduction to the Office 2010 Backstage View for Developers

    Customizing Office 2013 backstage

    Note that visual ribbon designer (in visual studio) does have support for the extending built-in tabs, you will need to extend office ribbon "backstage" by defining your "additions" in XML. For the "Share" tab you may need some xml like this (note the "idMso").

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <backstage>
      <tab idMso="TabShare">
        <firstColumn>
          <taskFormGroup idMso="GroupShare">
            <category idMso="Share">
              <task id="SayHelloTask" insertBeforeMso="ShareWithPeople" label="Say Hello Task">
                <group id="HelloGroup" label="Say Hello" helperText="This group contains say hello button.">
                  <primaryItem>
                    <button id="SayHelloButton" label="Say Hello" onAction="ThisDocument.SayHello" />
                  </primaryItem>
                </group>
              </task>
            </category>
          </taskFormGroup>
        </firstColumn>
      </tab>
    </backstage>
    </customUI> 
    

    Download sample document (Doc1.docm)

    enter image description here

    The full list of built-in "idMso" names can be downloaded from Microsoft