Microsoft Ribbon for WPF vs. Office RIbbon UI - wpf-controls

Microsoft released Microsoft Ribbon for WPF available for download here.
We also have RibbonControlsLibrary.dll, which is a ribbon control too, available for download from Office sites. Currenty it is in CTP version.
Now, which is the difference between these 2 version of ribbons ?
Until now I identified that:
MS Ribbon for WPF doesn't have any theming support and it has an Office 2010 ribbon look and feel. No support for Office 2007 ribbon look and feel.
The ribbon from RibbonControlsLibrary.dll (still CTP) supports theming for Office 2007 look and feel and also supports Office 2010 look and feel. But it doesn't run properly with .NET 4.0. There are some bugs when displaying controls such as comboboxes,textboxes.
Does anybody else worked with these ? Can you give me a link to a stable version of RibbonControlsLibrary.dll ? Does it exists ? Is in fact MS Ribbon for WPF the RTW for the RibbonControlsLibrary.dll or there are just 2 separate ribbons ?

Microsoft has been all over the board with ribbon controls. At one point, there awere at least three different versions floating around. My understanding is that the WPF team has settled on the new Microsoft Ribbon for WPF as the 'official' version of the ribbon. It uses the Windows 'Scenic' ribbon UI (as seen in the Windows 7 Paint and WordPad applications), as opposed to the Office 2007 'Fluent' Ribbon UI found in some earlier controls. I think the WPF team is steering developers away from the Fluent ribbon, and toward the Scenic ribbon.
If you want an Office 2010 look, with it's 'backstage' feature, there are a number of commercial and OpenSource projects that implement that UI. I have played around with the Fluent Ribbon Control Suite, a free control available on CodePlex, and it seems to do a pretty good job in WPF 4, with decent documentation.
Hope that helps!

Related

Bridging VSTO to Office.js functionality

I have created an Office plugin using Office JS and React Fabric, that runs in Word, Excel, and PowerPoint. It is a relatively simple plug-in which consists of a context menu and a ribbon button in the Home tab that both trigger a task pane.
However, in desktop versions of Office 2016, as well as earlier versions like Office 2013, the plugin task pane works, but there is no icon shown in the ribbon. Nor is there a context menu.
As I understand it, this is not a bug in my manifest, but the expected functionality on earlier versions of Word, Excel and PowerPoint in Office, because they do not support add-in commands.
Given that, I'm trying to understand the shortest route to supporting these earlier versions. Presumably that is to create a VSTO plugin for each platform I'd like to support. Ideally, I'd like that VSTO plugin to simply add the context menu and ribbon buttons, but then delegate the actual task pane to the existing Office.js add-in. Is this possible?
...As I understand it, this is not a bug in my manifest, but the
expected functionality on earlier versions of Word, Excel and
PowerPoint in Office, because they do not support add-in commands.
Your statement above is 100% correct.
Ideally, I'd like that VSTO plugin to simply add the context menu and
ribbon buttons, but then delegate the actual task pane to the existing
Office.js add-in. Is this possible?
What you suggest in theory is possible, but that would be re-writing the modern add-in framework and even then your modern add-ins wouldn't work as-is because you'll have to do all kinds of API mappings from COM to JS. If you want to go as far as 2010, you only have the option of doing VSTO I'm afraid.

VBA Excel TaskPane [duplicate]

Is it possible to build a Custom Task Pane for Excel 2007 or 2010 without Visual Studio, that is, using only VBA?
I found this other question but it's not working for me.
I think, as of now, the answer to your question is "No".
As far as I can tell, extending any Office application (Excel, PowerPoint, etc.) with a Custom Task Pane / Application Pane requires a COM add-in, that needs to be developed with Visual Studio.
At least for Office 2007, this article (https://msdn.microsoft.com/en-us/library/aa338197%28v=office.12%29.aspx) specifically states that:
(..) custom task panes are deployed as Component Object Model (COM)
add-ins (..)
The same article states that VBA does not support creating such custom task panes.
You can create custom task panes in any language that supports COM and
that enables you to create dynamic-linked library (DLL) files, for
example, Microsoft Visual Basic 6.0, Microsoft Visual Basic .NET,
Microsoft Visual C++, Microsoft Visual C++ .NET, and Microsoft Visual
C. However, Microsoft Visual Basic for Applications (VBA) does not
support creating custom task panes. Custom task panes use other
technologies with which you are already familiar, for example,
Microsoft ActiveX controls.
This article shows how to create a custom task pane with C# or VB in VS2013: https://msdn.microsoft.com/en-us/library/aa942846.aspx
All in all, this article (https://msdn.microsoft.com/en-us/library/bb398242.aspx) states that you need Microsoft Office Developer Tools for developing office solutions, which is only bundled with
Visual Studio Professional
Visual Studio Premium
Visual Studio Ultimate
If you only have VBA available it seems like your are stuck with the original User Forms for now.
I'm looking the same question.
I "think" the only way to make CTP is through VS.
And only way to make in VBA is with userFrom instead of custom task pane.

Adding a custom ribbon tab and buttons in Sharepoint 2013

I'm trying to figure out how to create a custom ribbon tab with custom buttons on a documents library in SharePoint 2013.
I'm using Visual Studio 2013 Community with office developer tools and I'm running SharePoint through an office 365 business trial account.
I've found the following tutorials which helped but ultimately I am still stuck.
This one is great but as a new Sharepoint developer I'm not sure exactly whats going on. I know I need to edit the elements.xml file but I have no idea where or what file to edit.
I then found this one which helped out a lot but still dosen't work. I followed the instructions to the letter except for the step where you create an Empty SharePoint Project. I am unable to do that because VS 2013 will not allow that unless you are deving in the same environment as the SharePoint server and because I'm running Windows 8.1 and not Windows Server I can't even install Sharepoint foundations to try this.
Instead I just created a simple Sharepoint App in visual studio and followed the steps to create the feature and custom action but I still can't get it to work. The menu and buttons are nowhere to be seen in any documents library.
So can anyone help point me in the right direction for creating a custom ribbon tab and buttons (or just SP2013 dev in general)? I've spent all day looking online for resources but every resource is either for a different version of SharePoint or outdated so that the tutorial is no longer applicable to VS2013 or SP2013.
Any help would be greatly appreciated.
The process of adding buttons and other controls to the Ribbon is explained in this Office Dev Center article for Sharepoint 2013: Create custom actions to deploy with apps for SharePoint. This also mentions the Bookstore Sample Application which uses custom actions. Other good entries for the architecture of the Server Ribbon are these two branches of Sharepoint 2010 Dev Center
Server Ribbon XML.
Modify the User Interface Using Custom Actions
There is also a sample solution by Sonja Madsen that you can open in Visual Studio 2013 Community Edition from the online section of New Project. It can be found also on this MSDN page. It is listed under Online->Samples->Visual C#->Web->Sharepoint Server 2013->Custom ribbon button - list - search.
If you look in the Package Explorer of this solution you will see that it packages two features. Under the second feature (it's file is in the Features/Feature2 directory) you will see AddBodyText. It's elements.xml contains the tags. You can find that elements.xml in the AddBodyText directory.
Some more technical info on the structure of solution packages: SharePoint 2007 Deployment: Creating Solutions from André Vala.

Location for Add-in in Office 2013

I have migrated my project from Office 2010 to Office 2013. ( office plug-in with a DropDown Menu design).
Previously Office 2010 used to show Add-in options File->Add-in->"Custom Add-in"Menu.
What is the new position of Add-in, where does default add-ins go in Office 2013?
Thanks,
Pawan Kumar
If it is any help according to ZDNet they are now called "Apps" instead of "Add-in's". There was a great article about this on ZDnet, here is a link:
Microsoft Office 2013: Bye-bye add-ins, hello apps
Here is the official Microsoft page about them:
View, manage, and install add-ins in Office programs
Hope you find this helpful.
It depends on whether you have developed your add-in using VBA or VSTO.
In any case you need to enable the Developer tab (this is must for developing using VBA as the first step!). For this, right click on the ribbon and select Customize the Ribbon option. Check the check box for the Developer then click the OK button. Then under the Developer tab,
In case of VBA, you can see the add-in by clicking the Add-Ins button.
In case of VSTO, you need to click the COM Add-Ins button.
This works for both Office 2010 and Office 2013.

Will MS Project 2003 plugin support MS Project 2013?

Whether the Addin developed for MS Project 2003 will work in MS Project 2013?
Thanks in advance.
I can also confirm that COM Add Ins written for Project 2003 can work fine in Project 2007, 2010, 2013, and 2016. As noted above, the toolbar controls just move to the Add-Ins tab of the ribbon. If you launched from menu items as well as toolbar controls, those launch points will be lost, but you don't really need those if you have something on the ribbon.
All of this is predicated on using a subset of the COM Interop interface that is 'core', e.g. supported on all versions of MS Project. Microsoft tends to maintain these interfaces pretty well. They may add new stuff in later versions, but I've found that they generally don't drop the old interfaces. You will need to decide which version of the Primary Interop assemblies for building an application to be used across all these Project versions. I've seen advice that says you need to build a separate add-in binary for each version of MS Project, but I've never found a need to do that. You might be able to stick with the PIA from MS Project 2003, but I'd suggest you pick something like Project 2010 or Project 2013 Primary Interop Assemblies.
Hope this helps.
No, it won't.
There is a slim chance that the core code may run ok, but with the switch from the menu bar to the ribbon menu, any menu options presented by the 2003 plug in won't be presented as buttons on the ribbon in 2013, so I can say with certainty that part won't work.

Resources