Creating custom Ribbons

What is a ribbon?

It’s the new user interface that centralizes the commands from Access 2007/2010/2013/2016 and replaced the previous versions main menu and toolbar.

The large rectangular bar, on the top is known as the Office Fluent Ribbon.   It contains the Title bar, Office button (Access 2007), Backstage(2010, 2013 and 2016), Quick Access Toolbar and the Tabs.

Usando Access

 

We can create customized ribbons to the Application, providing a great quality appearance and navigation.   This will be the main focus of the Video class, which is to teach you how to customize and configure the Office Fluent Ribbon, in a way that your application gets a professional appearance and is protected against unwanted changes.

You can see an example of a Ribbon completely customized as a database:

Usando Access

 

Does the Access have an wizard to create the ribbons?

Microsoft launched the Access 2007 without an wizard for this, forcing everyone to know something about XML, which is the language used to create the Ribbons.

Access 2010, Access 2013 and Access 2016 comes with an assistant, with the main objective to customize ribbons for your Access and not for your project.

What you must know about XML?

XML and HTML are similar, being the main similarity the use of Tags (key-words and attributes).    Each tag consists of two parts: one that opens, and one that closes.

Example: <open tag> ... </close tag>

Some controls were designed by Microsoft to customize the Office Fluent Ribbon. It has commands to create the XML architecture adopted, change Access configurations and create the ribbons.

Each command has to be placed in the appropriate spot in the architecture, so it can be translated the proper way.

Pay attention to the architecture presented below, so you must start getting used to it:

Usando Access

 

Now, take a look at the image below with the tags distribution and its respective commands:

Usando Access

 

Take a look at the structure without the graphic representation:

<customUI xmlns="http://schemas.microsoft.com/office/20xx/xx/customui">
   
   <commands>...</commands>

<ribbon startFromScratch="true">
   
   <qat><documentControls> ... </documentControls></qat>

   <officeMenu> ... </officeMenu> 'Access 2007

<tabs>
   <tab>
     <group>
       <button>...</button>
     </group>
   </tab>
</tabs>
</ribbon>
 
   <backstage> ... <backstage> 'Access 2010, Access 2013 and Access 2016

</customUI>

Each command has its attributes to be configured.   As an example, in the command <button> we can choose its size, subtitle, image, make it invisible, turn it off, and others.  One of the obligatory attributes, in some commands, is the id, which is an exclusive identification that we must give to the command, to be identified, for example, when we click on it to execute an action.

Take a look at the XML below with these attributes, in red, in some tags:

<customUI xmlns="http://schemas.microsoft.com/office/20xx/xx/customui">
   
   <commands>...</commands>

<ribbon startFromScratch="true">
   
   <qat><documentControls> ... </documentControls></qat>

   <officeMenu> ... </officeMenu>

<tabs>
  <tab id = "tbMain" label = "Main">
    <group id = "grSeveral" label = "Several">
     <button id = "btSched" imageMso = "StartAfterPrevious" label = "Schedule"/>
     <button idMso = "Paste"/>
    </group>
  </tab>
</tabs>
</ribbon>
 
   <backstage> ... <backstage> 

</customUI>

We can also use the commands and images from Access itself. These commands are loaded by the attribute idMso and the images by the attribute imageMso.    The extension MSO refers to Microsoft Office.

The result:

Usando Access

 

An wizard for you to study and design the ribbons

I made an wizard for Access, called MontaRibbons, with everything that is necessary for the development and configuration of ribbons. With this wizard you will be able to create ribbons in some minutes and in an easy way. You will see in my Video classes that it has a great potential as a learning tool and it won’t be necessary to have any knowledge about XML.

Look at the image from MontaRibbons below – while you edit the XML, you will see the results of the ribbon you are developing IMMEDIATELY.

Usando Access

 

Video class

This video will reinforce the understanding of the XML structure we have shown.   You will see how to disable the Office Fluent Ribbon in Access, creating a customized ambient, and at the end you will see an introduction about making ribbons.


 


 

Links

Subjects

Article and Video 2

 
Setting the control splitButton
Setting the control menu
Differences between the controls splitButton and menu
Exporting the ribbons for your applications
How to give functionality to the buttons on the ribbon
 

Article and Video 3

 
Changing the controls at runtime, using the attributes gets
How to configure the ribbon for the language exchange
How to hide / disable the buttons on the ribbon, depending on the User logged
 


Article and Video 4

Using external images (GIF, JPEG e PNG)

Article and Video 5

 

Images (GIF, JPEG, PNG e ICO) taken from the attachment type field 

Article 6

FAQ

Article 7

Combobox and Dropdown, in practice


MontaRibbons

All the details about how to purchase

 

 


15 comment(s)

Liam Fitzpatrick   8/3/2012 11:59:33 PM

This has been the most helpful,a nd clearest explanation yet for a beginner on Custom Ribbons ( could you state where and how 'objRibbon' is declared ) I am getting an error. Otherwise it works perfectly. Thank you.

Avelino Sampaio   8/4/2012 10:09:21 AM

Liam,

Activate the reference "Microsoft Office 12.0 (or 14.0) Object Library", as Article 2

Use the global module to declare the variable objRibbon, according to article 3

Report the error you are getting.

Ari   12/18/2012 4:56:33 PM

Excellent vídeo!

Easy tool to use.


Hoss   5/17/2013 6:48:58 AM

hi.. thanks for your program.but when i load the program Monta Ribbons v.4.0, i get this error :
"The expression on open you enterd as the event property setting prouduced the following error: A poroblem while montaRibbons v.4.0 was communicating with the OLE server or ActiveX Control.
* The expression may not result in the name of macro,the name of a user-defined function,or [Event Procedure].
*There may have been an error evaluating function,event,or macro."
This error occurs when an event has failed to run because the location of the logic for the event cannot be evaluated. For example, if the OnOpen property of a form is set to =[Field], this error occurs because a macro or event name is expected to run when the event occurs.

what can i do with this error.
thanks alot.

Avelino Sampaio   5/20/2013 7:36:49 AM

Hoss,

Please contact us by email: avelino(dot)ribbon01(dot) com

I need to collect some information so that I can identify the possible accuses this failure.


Roberto   3/4/2014 7:30:08 AM

I've tried manually to modify QAT and Menus on an Access 2007 DB; but it seems impossible to modify both by USysRibbons table: if I try Access gives me an error on db opening and starts with standard interface

Avelino Sampaio   3/5/2014 5:01:14 AM

Hi Roberto,

Enable the error detection that you will find the cause.

File button > Options > Client Settings > Check “Show add-in user interface errors”

Regards

Brian   4/24/2014 2:08:01 PM

The program is a great tool, but it'd be helpful if the videos were in the 2010 version and the commands, i.e. Inicio, Criar, Dados Externos, Ferramentas de Banco de Dados, were in English. For the most part I am able to "translate" them but there should really be an English version for those of us who only speak/read/write in English.

I think it'd make the tutorials easier to understand.

Charles   9/20/2014 1:41:18 PM

Excellent builder! I created all my ribbons in the 2010 version.

My application now has a professional navigation!

Great investment!

David Flin   1/6/2016 4:17:11 AM

I have downloaded the evaluation version, but when I try to start from the menu I get the error "The database is in an unrecognized format". I am using MS Access 2013.

Avelino Sampaio   1/6/2016 9:42:17 PM

David

Your Office 2013 is 32 or 64 bit? It is updated with SP1 package?


Raj   6/19/2016 11:30:53 PM

I am not able to run your application for Office 2013, Do you have suitable version for office 2013! Your Help will be Appreciated! Thank you!

Avelino Sampaio   6/20/2016 5:35:08 AM

Raj,

Your Office 2013 is 32 or 64 bit? It is updated with SP1 package? Please pass your e-mail by accessing contact section.

I wait

teekolo   5/6/2017 10:08:32 AM

i am using access 2013, but the namespace is what creating the problem for me, and im using a 64bit verson

Avelino Sampaio   5/9/2017 1:57:12 AM

Teekolo,

I do not understand your doubt. Please provide more detail.



Send your comment: