vsto and office web addin in same ribbon tab - vsto

Is it possible to add buttons from two different addins (one office web addin, and the other VSTO addin) in the same custom ribbon tab in office 2016?
If yes, how?

I don't think so, but this should be something you can determine by a quick test. Define a tab/button in VSTO and then define an Add-in Command for the web add-in and use the exact the same name for the tab in the manifest of the web add-in. I suspect you'll get a two tabs with the same name.

Related

Permanently append Customized Ribbons to PowerPoint file

I have written 2 Macros in PowerPoint and added the Macros to a customized ribbon named 'My Ribbon' to make those macros available at a click of a button. The only problem is the Ribbon disappears when someone else opens the PowerPoint on a different computer. The macros stay with the file but the customized ribbons do not and we have to create another customized ribbon, and place both macros to the ribbon every time we share the file across our drive.(Which is quite annoying)
I want to permanently append the customized ribbon to the PowerPoint so that anyone who opens the PowerPoint will be able to see the personalized ribbon with both Macros already on their version of PowerPoint.
VBA macros are not designed for distributing the code on multiple PCs. If you need to get a solution which can be installed on other PCs you need to develop an add-in. That's exactly they were invented for. Moreover, you can create an installer for the add-in. It will be installed as other applications on your PC. See Walkthrough: Creating Your First Application-Level Add-in for PowerPoint to get started.
If you choose to stay with VBA macros, you will have to edit the open xml document. See Customize the Word Ribbon User Interface for more information. The process is common for almost all Office applications (Outlook does't support that).
You could use such a program like Ribbon Editor to customize the Ribbon for your pptm file only. (No need for an AddIn it you want it deployed only with the file)

How to add a group to a (VBA) custom ribbon without xmlns/idQ?

Situation:
Users have an existing custom ribbon that is added via a .PPAM (combination of VBA macros and Ribbon customization XML).
We want to add a group to that custom ribbon via our managed COM add-in
For custom ribbons from other managed COM add-ins this is feasible via the xmlns:foo="bar" & idQ that can be extracted from the customUI Link
Complication:
Custom Ribbons from non-managed add-ins seem to have no xmlns namespace, they do not show up in the customUI
Even via PowerPoint/Office the user can not customize those ribbons.
Any idea how we could achieve adding buttons?
We can request changes to the non-managed/VBA add-in.
VBA add-ins don't have their own namespace by default, but can have one. If you create a custom namespace, then multiple VBA add-ins can share the same tab on the ribbon, for example.
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
xmlns:nsMySpace="SomeName">
Then to create a new tab that other add-ins can share:
<tab idQ="nsMySpace:MySpace_Tab" label="MyTabLabel">
In addition to Steve's answer we've discovered that VBA add-ins have a default namespace even when none is specified in their customUI.
You can extract the namespace by adding a control from the ribbon to the Quick Access and then exporting the UI Customizations. The resulting file should show:
<mso:cmd app="PowerPoint" dt="1" />
<mso:customUI xmlns:x1="C:\Users\USERNAME\AppData\Roaming\Microsoft\AddIns\Addin.ppam">
So the default namespace seems to be the complete Path to the add-in.
From a high perspective two add-ins can share a ribbon tab for controls because they are loaded into a single PowerPoint instance. When you develop a macro enabled file with a custom UI - only this file can be opened at the same time. But two add-ins can be run for the file/template. That's why idQ is intended to use by add-ins.
You can read more about the Fluent UI (Ribbon UI) in the following series of articles in MSDN:
Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)

How to automatically add a button to a ribbon in Excel 2010

Is it possible to automatically add a button to Excel Ribbon to run a macro when a user open an Excel file. Problem is I have developed a macro and would like to share it with my group members. Now on my personal computer I could customize the ribbon and assign a given button to my macro but this ribbon customization will only be available for me. So after I send out the workbook to members of my group, they will not see the button that I have assigned for the macro. I could add an ActiveX control but this will be on the sheet itself and not on the ribbon (Excel 2010)
Is there a way to do this, without having each member customize his/her ribbon.
Thanks!
I think that you are talking about VSTO, which is the add-ins framework of MS Office, and normally, you need the VS Studio, not Express, to develop your add-ins application.
And at first, you can go to http://msdn.microsoft.com/en-us/library/bb410115%28v=office.12%29.aspx to read the simple guide about the Ribbon button integration, and about other integration way and method, you can read the MSDN directly.
And of course, as a professional VSTO developer, if need, I can help you too. :)

Backstage view in outlook 2007

I am developing an outlook 2007 add-in which is based on an existing outlook 2010 plugin. I managed to get most of the features working, because most of them were backwards compatible. However there are some I could not, because 2007 simply did not have certain features. \
Backstage view
Main ribbon
My question is - what would you suggest for an equivalent interface? Where would you put in outlook 2007 something that was in backstage view in 2010?
After much deliberation I decided to use a custom menu. All features available through the backstage view in 2010 will be converted to menu items in the custom menu in Outlook 2007.
Also buttons from the main ribbon will become items in the same custom menu.
This solution, while not as elegant as Fluent UI will work, I think, because all of my plugin's functionality will be available from one spot.

VBA Application Migration from Office 2002 to Office 2007

Looking for Migration from Office 2002 - VBA Word Doc Application to Office 2007.
Issues: Though Office 2007 Supports VBA Application - VB Macro Code, Menu Bars are not appearing. Indeed, VBA Macro Menus display under "Add-ins".
On a study, I realized Office 2007 Supports XML - Ribbon. Is there any ideal approach to migrate VBA Macro Application to Office 2007?
Your best bet would be these two MSDN articles: Customizing the 2007 Office Fluent Ribbon and Creating a Custom Tab by Using Ribbon XML, although they look like they focus on doing it across all applications, rather than just one. There help docs for each Office app, to get them all try this Google query: site:msdn.microsoft.com office 2007 add button to ribbon.
This snippet, from the first link, should be what you're looking for:
What About Existing Solutions?
In previous versions of Office, developers used the command bars object model to build the Visual Basic code that modified the Fluent UI. In the 2007 release of Office, this legacy code continues to work in most cases without modification. However, changes made to toolbars in Microsoft Office 2003 now appear on an Add-Ins tab. The type of customization that appears depends on the original design of the add-in. For example, Office creates a Menu Commands group that contains items added to the previous menu structure (such as the File menu, the Insert menu, and the Tools menu). Office also creates a Toolbar Commands group that contains items added to the previous built-in toolbars (such as the Standard toolbar, the Formatting toolbar, and the Picture toolbar). In addition, custom toolbars that are added by an add-in or document appear in the Custom Toolbars group on the Add-Ins tab.