so I've noticed that CommandBars appear in tabAddIns in outlook 2010 by default. Is there any way I can get them to appear in my custom ribbon tab instead?
If it is impossible or very challenging, I welcome suggestions for easier ways to achieve something similar.
You can create a custom ribbon tab with the Ribbon Designer and move your CommandBar items to be ribbon buttons.
An decent example can be found http://msdn.microsoft.com/en-us/library/bb386104.aspx
You can't control where CommandBar buttons go. That's a "compatibility support" feature of Outlook (and the rest of Office actually) intended only to allow older addins to continue to run and have they're buttons accessible. If you're targeting 2010, you should generally avoid the old CommandBar* objects, and use the ribbon customization instead.
If you require Office 2007/2003 support (which I assume is the reason you have the command bar's) then you ideally need to check the MajorVersion of the office interop dll that is running.
Then you can do soemthing like:
string majorVersionString = Globals.ThisAddIn.Application.Version.Split(new char[] { '.' })[0];
int majorVersion = Convert.ToInt32(majorVersionString);
if (majorVersion < 14)
{
//Register CommandBar
}
Then also create a ribbon targeting the OutlookExplorer ribbon. Because only office 2010 will request that ribbon type, then it will only work for Office 2010.
See http://msdn.microsoft.com/en-us/library/bb398246.aspx for how to create ribbon xml ribbons. The ribbon ID you are after is Microsoft.Outlook.Explorer. More information about extending the Outlook explorer ribbon can be found at http://msdn.microsoft.com/en-us/library/ee692172.aspx#OfficeOLExtendingUI_Explorer
EDIT:
More information about multitargeting multiple versions of Office is available at http://blogs.msdn.com/b/vsto/archive/2010/06/04/creating-an-add-in-for-office-2007-and-office-2010-that-quot-lights-up-quot-on-office-2010-mclean-schofield.aspx
Related
It's my first time developing add in for outlook.
I saw that there is a way to develop add in in web technologies such as Angular, React, etc. This add in will work both on older version and new version of outlook?
If I want to develop also for Outlook 2007 | 2013, will add in developed in react will still work?
Another question I had, my add-in should change the current views
I want to add small marks on appointment on the calendar view (see the coloured dots on the meetings)
Add some insights in appointment invitations
Add custom field to new appointment form
I tried to look for solutions that change the views but found only solution that add custom forms and not changing the current form.
Is it possible?
Thanks!
Outlook add-ins are supported in Outlook 2013 or later for Windows, Outlook 2016 or later for Mac. More on Supported hosts.
You will be limited to the certain Extension points. Extension points are the ways that add-ins integrate with Outlook. There is no way to customize Outlook interface with the add-in, instead you will be given the aria (pane, dialog) where you going to display your own UI and communicate with a form to enhance user experience.
If you need to support older Outlook clients and custom forms, you should stay with VSTO technology. Read more on ... How are Office Add-ins different from COM and VSTO add-ins?
I'm making a Custom Task Pane for MS Word using Visual Studio (C#), and would like to add an option to the drop-down menu that, as far as I can tell, appears on all such task-panes. This is the menu I mean.
Is there a way to add an option to the default "Move, Size, Close"?
Sorry, but no, you cannot do this.
The Office add-in model is such that you only control the web application portion of the experience. Everything else is controlled by Office.
With the new web-based add-in model, you have much less control over Office itself than previous models.
Good morning,
my company is looking for a solution in order to distribute an add-in for Outlook 2013 that add a button in the ribbon. I want to create an add-in for Outlook 2013 and I saw that is possible using Visual Studio (I use VS 2013 or 2010) but I don't understand how to add a button in the ribbon (in particular in Home section) and execute a macro when I click on the button (the macro is already created). I read this tutorial https://msdn.microsoft.com/en-us/library/cc668191.aspx and this worked. Someone can help me with some piece of code(c#)?
Thanks for your help
VSTO provides two main ways for customizing the Ribbon UI:
Using the Ribbon designer. See Walkthrough: Creating a Custom Tab by Using the Ribbon Designer for more information.
Using the Ribbon XML markup. See Walkthrough: Creating a Custom Tab by Using Ribbon XML for more information.
You need to specify the idMso attribute of the built-in tab if you need to add your custom controls there. See Office 2013 Help Files: Office Fluent User Interface Control Identifiers for control IDs.
Finally, I'd suggest moving your VBA macro to the add-in. It will improve the overall performance and allows to use the BCL classes (a wide varioety of controls and components) for getting the job done. Moveover, you will be able to deplay the add-in easily. VBA macros are not designed for deployiong on multiple PCs.
I know that the Office Ribbon has gone under pretty significant changes since 2003 and I've done some modest customization of the ribbon in 2010.
Question: I've seen a number of references to .Net and specifically C# and the Office Ribbon. Is this largely just (maybe) dynamic customizing? I mean, Office 2013 can't run any .Net code, can it? At the end of the day, it is still VBA no?
Thanks
I imagine that you are referring to the Ribbon WPF control, documented here: https://msdn.microsoft.com/en-us/library/ff799534%28v=vs.110%29.aspx
This is a UI control that can be used in custom .NET applications, giving them the look and feel of office applications.
If you are referring to the ribbon in actual office applications- as the comments mention, addins can be written in .NET code (this has been possible for quite some time, actually), and these can modify the toolbar. Links are available at the bottom of the page linked above.
I have looked at several tutorials on writing general Outlook add-ins, and have gotten simple examples to work: items in menu, context menu, ribbons, etc.
Many of Microsoft's documentation has send me in circles, or is in VB, so I have run into some questions with what we are trying to accomplish.
Is there a way to add a custom control below the Subject line in a new email? We need to supply a drop-down and add an additional header to emails sent for email tracking. Right now the best I have gotten is adding a CommandBarButton in the "Add-ins" tab of the Ribbon, is there a better method?
Will we run into any issues installing for multiple versions of outlook? (Will only 2007 and higher work?)
Can you host WPF controls directly in a Ribbon, etc.? I know that WPF popup windows work just fine when shown from a CommandBarButton.
Are there some good links out there for what we're trying to do?
2: Multi-version support is a PITA. The hedge-your-bets approach is to develop on a PC running the version of Outlook you want to support; thus you may have multiple setup packages for each supported version. Everybody tries to get around this though, but I've used this approach with success:
Version-Specific UI in Add-ins - Andrew Whitechapel - Site Home - MSDN Blogs:
http://blogs.msdn.com/b/andreww/archive/2008/09/02/version-specific-ui-in-add-ins.aspx
4: Essential resources:
Visual Studio Tools for Office For Office and Outlook for Developers Forums on MSDN
OutlookCode.com
(FYI, I work for Add-in Express)
No, not without implementing the entire message window.
We have to make 2 projects for 2007 and 2010, we are skipping 2003 and below b/c it is much more difficult and would be rarely used.
Can't host WPF in a Ribbon, we're going to display a WPF popup from a Ribbon button press.
Best thing I've found is to just follow the project template in Visual Studio and mess around.
Overall, our add-in is going to do the following:
Make 2 projects for 2010 and 2007 that share a "Shared" assembly
All reusable work is done in the shared assembly
WPF is only displayed via popup windows (you can do a custom task pane, but it doesn't make sense for our add-in)