Dynamically Customizing the Built-In Office 2007 Ribbon - c#

I'm trying to dynamically customize the built-in Ribbon Controls on an Office2007 ribbon by adding C# objects such as RibbonTab, RibbonGroup, RibbonControl to the Ribbon. I have been unsuccessfull in disabeling any existing built-in controls, however I can add my own group. Now i'm thinking that disabling or hiding existing ones not be possible.
If anyone been able to hide a built-in control using code or the designer using .NET VSTO Office 2007 development, can you please post the code you used?
Thanks!

Here is a Stackoverflow question that talks about overriding built-in ribbon commands. Here is an MSDN video that shows it as well.

Related

Add a button to Outlook message ribbon

I'm totally newbie in Office Add in Development.
Started few hours ago :)
Office version: 2016
I would like to create an add-in, with a button that will allow me to synchronize my email with my custom program and "flag" it to avoid a new synchronization in the future.
For that, it would be necessary to:
add a button (it seems simple to me, but by following this link, I did not manage to see the button when debugging in Outlook)
I would like the button is present in the ribbon that appears when you open an email, and only down (it would prevent a synchronization of several emails at once) - and I can not find the name of the adequate control. There is a list of Excel files (here) but which corresponds to the one of the opening of the mail message?
perform any action when the user clicks the button - I guess that's a simple event of the button, but how can I get the opened message data and metadata (sender, to, cc, subject ...)
"flag" the email, so as to avoid a second synchronization. The ideal is to add an icon to the email in the list of emails, as is done for an email containing attachments etc ...
I know I'm asking a lot, but I'm not asking to get the job done, just to be able to steer in the right direction. So if you have tutorials, articles etc ... to help me, it would be great.
Thank you
N.B.: Copy of this question has been posted in VSTO forum here
To create a custom ribbon UI, VSTO provides two possible ways:
Walkthrough: Create a custom tab by using the Ribbon Designer
Walkthrough: Create a custom tab by using Ribbon XML
To keep a separate state for the control for each inspector window separately you need to implement ribbon callbacks and call the Invalidate or InvalidateControl methods of the IRibbonUI interface. Read more about these methods in the following articles:
OfficeTalk: Display and Hide Tabs, Groups, and Controls on the Microsoft Office Ribbon User Interface (Part 1 of 2)
OfficeTalk: Display and Hide Tabs, Groups, and Controls on the Microsoft Office Ribbon User Interface (Part 2 of 2)
The Fluent UI (aka Ribbon UI) is described in depth:
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)

C# VSTO Outlook: Disable auto complete for input controls

I am developing an Outlook AddIn (C#/VSTO) for our Company and some users started to complain about the autocomplete feature.
In my case it is a combobox where you can type in the name you want to search for.
The TextChanged Event will now add only the revelant items to give a clear result view in the dropdown selection.
But now if I want to search for Test Company and then want to search in the next step only for Test, Outlook starts to complete the input automatically to Test Company.
I know that pressing backspace will remove the suggestion, but it would be great if this could be completely disabled.
I googled it, but it seems that nearly nobody has required that before.
Here you can see the problem.
Is it possible to disable the auto complete feature?
Unfortunately the RibbonComboBox method does not allow you to override the auto-complete feature. All that you can do with it is detailed here: https://msdn.microsoft.com/en-us/library/microsoft.office.tools.ribbon.ribboncombobox.aspx
The Fluent UI doesn't provide anything for configuring that feature. Feel free to leave your feedback here.
You can read more about the Fluent UI (aka 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)

What control should I use for this UI?

I'm relatively new to WPF, so could anyone give me some guidelines on how to build this UI (it's main panel of Paint on Windows)
I prefer code style over XAML (just for the learning purpose), so a general idea on what controls should be used would be more than enough, I can handle the detail of each element.
There are online templates. I think that you are searching for Ribbon Control Template.
Then, Codeproject has a great article about this.
You can check this msdn article, too.
In these links you have a lot of examples.
To use it you will create a new project with an online template, like in the image bellow (you see: it's selected WPF Ribbon Application:
That is a Ribbon control.
You can check this out: Introducing Microsoft Ribbon for WPF
Probably want to use the Ribbon Control? http://www.microsoft.com/en-us/download/details.aspx?id=11877
When I had the same question in my mind, I did an analysis of all ribbon controls and collected their links.
Here are they
http://fluent.codeplex.com/
http://wpf.codeplex.com/wikipage?title=WPF%20Ribbon%20Preview&ProjectName=wpf
http://www.microsoft.com/en-us/download/details.aspx?id=11877
Code Project Links:
http://www.codeproject.com/Articles/24062/A-Demonstration-for-WPF-Ribbon-Control-Library
http://www.codeproject.com/Articles/23199/WPF-C-Ribbon-Control-Library
http://www.codeproject.com/Articles/23343/A-Graphical-WPF-Ribbon-Control-Builder

Hide/disable/remove/shootintheface office 2007 ribbon programmatically

We are embedding a word control inside of a winforms app, and need to hide and disable the ribbon on Office 2007 and 2010.
Is it possible to hide/disable the office 2007/2010 ribbon programmatically using the office interop dlls? Is there another method available to do this?
I don't think you can disable the ribbon as such, but using a custom XML file you can hide the default tabs, groups and commands (or add your own). Setting the custom XML file can be done via interop (see IRibbonExtensibility and GetCustomUI). This may not be perfect, but perhaps better than nothing.
It is not possible to disable the Office 2007/2010 ribbon.
In the user interface, Ctrl F1 will accomplish the hiding.
If you were able to send keys to the embedded app, that'd accomplish that.
System.Windows.Forms.SendKeys.Send("^{F1}");
More on SendKeys at MSDN.

Menu Contols like the Office 2007 Ribbon

Is there a way to my WinApp written in C# using Visual Studio 2008 have menu controls which look like on these We can fund in Office 2007.
Menu http://lh6.ggpht.com/_l7ldTfcnI34/S0wk1-eGSYI/AAAAAAAAEYU/IrTyYDV2Muo/s800/menus.jpg
Yes, you can get a free license to incorporate the Office 2007 user interface into your program.
http://msdn.microsoft.com/en-us/office/aa973809.aspx
You can't get a free control from microsoft, but there are a bunch of people who will sell you a version. DivElements.co.uk are one example (no affiliation).
Microsoft only have a version for C++ and for WPF, not for winforms.
Well, out of the box from VS.NET, the toolbar controls aren't anywhere near what you want in Office apps.
You can write your own custom ones or simply get 3rd party components.
E.g.:
http://www.devcomponents.com/dotnetbar/
http://www.componentone.com/SuperProducts/MenusandToolbarsWinForms/
etc etc
You can use the Telerik RadRibbonBar For WinForms by registering at this link below
http://www.microsoft.com/express/registration/
this provides you with a free ribbon bar control which you can use with C# in your application and can even distribute the applications without any royalities to Telerik.
Otherwise like stated in other answers you would need to buy some commericial toolkit like DevExpress etc.
Here it comes to WPF http://fluent.codeplex.com/

Categories