Adding Tabs and Controls to the Office Fluent Ribbon in Access 2007
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
Summary: Learn how to customize the ribbon for an Access 2007 database application.
**Applies to:**2007 Microsoft Office system, Microsoft Office Access 2007
David Hale, Microsoft Corporation
Joel Krist, Akona Systems
Microsoft Office Access 2007 lets you customize the ribbon in your application. The ribbon provides a new user model for exposing commands, and it provides easier, more discoverable navigation. You can create a custom ribbon for an Office Access 2007 database by using only ribbon extensibility markup XML and macros.
This video demonstrates the four steps to customize the ribbon for a database application:
Creating XML Markup
The following XML samples demonstrate the basic steps to create the XML markup that will display the custom ribbon buttons in an Access database. To see how to add these to your database, watch the video.
The simple XML below sets the startFromScratch attribute to True, which hides the default ribbon.
Next, extend the XML to add a new tab to hold your custom buttons.
Finally, add the buttons by adding the emphasized code show below.
Let's look now at the details of the XML.
Using VBA to Handle More Advanced Actions
You can do many powerful actions using macros, but you may need to use more advanced tasks by creating VBA functions. For example, you need to write code for the following scenarios:
Loading Remote Code
This code creates a Recordset from any table that contains the word "Ribbons" in its name. Then it calls the LoadCustomUI method to load the ribbons, to make them available to the database. And finally, it closes the Recordset and the reference to the DAO.Database object.
In the following example, the group element is declared with the label attribute. The label for this group is static, which means it is set when the group is created:
In practice, you may want to assign the label dynamically. In the following example, the group element is declared with the getLabel attribute. When this group is created, the ribbon calls the getLabel function to get the value for the label.
The following example shows the VBA function that is called when the ribbon evaluates the XML in the previous example.
Loading Custom Images
The following VBA examples show how to implement the getImage callback function to load images from an attachment field in the current database. This function uses a form to load images.
In this example, all the images for the application are stored in the same record.
In the previous function, the USysRibbonImages opens as read-only and in hidden mode. This indicates that it is not in the UI. The images are retrieved from the Images control. The image whose name corresponds to the imageId that is requested by the ribbon is returned.
In the following example, images for the application are stored in different records. If a record contains more than one image in the Images field, the first image is retrieved by default.
Access provides flexibility in customizing the ribbon UI. For example, you can store customization markup in a table, embedded in a Visual Basic for Applications (VBA) procedure, stored in another Access database, or linked to from a Microsoft Office Excel 2007 worksheet. You can also specify a custom UI for the application as a whole or for specific forms and reports.
You create XML to change the ribbon UI. You can create customization files in any text editor. All applications that include the ribbon use the same extensibility model, so you can reuse the same ribbon extensibility XML with a minimum of adjustments. For example, you can reuse the custom XML you create for the 2007 Microsoft Office release programs, such as Microsoft Office Word, Microsoft Office Excel, Microsoft Office PowerPoint, or Access, and for Microsoft Office Outlook 2007.
For more information about ribbon architecture and the specification of the XML markup, see Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3).
Length: 00:07:22| Size: 7.4 MB | Type: WMV file