Skip to main content

RibbonX: Customizing the Office 2007 Ribbon

RibbonX: Customizing the Office 2007 Ribbon

Robert Martin, Ken Puls, Teresa Hennig

ISBN: 978-0-470-28852-8

Apr 2008

672 pages

$25.99

Description

  • As the most radical change to the Office interface in its history, the Ribbon replaces the traditional menu bar and toolbars and requires a new set of skills for customizing
  • Instructions and examples demonstrate how to customize the Ribbon using VBA, XML, Access, Excel, and Word
  • Covers the relevant aspects of security, such as trust centers and digital certificates
  • Packed with real-world code examples that readers can immediately apply
  • Features helpful references
Introduction.

Part I: The Building Blocks for a Successful Customization.

Chapter 1: An Introduction to the Office User Interface.

Chapter 2: Accessing the UI Customization Layer.

Chapter 3: Understanding XML.

Chapter 4: Introducing Visual Basic for Applications (VBA).

Chapter 5: Callbacks: The Key to Adding Functionality to Your Custom UI.

Chapter 6: RibbonX Basic Controls.

Chapter 7: comboBox and dropDown Controls.

Chapter 8: Custom Pictures and Galleries.

Chapter 9: Creating Menus.

Chapter 10: Formatting Elements.

Chapter 11: Using Controls and Attributes to Help Your Users.

Part II: Advanced Concepts in Ribbon Customization.

Chapter 12: Advanced VBA Techniques.

Chapter 13: Overriding Built-in Controls in the Ribbon.

Chapter 14: Customizing the Office Menu and the QAT.

Chapter 15: Working with Contextual Controls.

Chapter 16: Sharing and Deploying Ribbon Customizations.

Chapter 17: Security In Microsoft Office.

Appendix A: Tables of RibbonX Tags.

Appendix B: Tables of Tab and Group idMso Names.

Appendix C: imageMso Reference Guide.

Appendix D: Keytips and Accelerator keys.

Appendix E: RibbonX Naming Conventions.

Appendix F: Where to Find Help.

Index.

Code Download
This file contains all the code, samples, and examples from RibbonX: Customizing the Office 2007 Ribbon.
(Note that chapter 17 and Appendixes A, D, E, and F have no download materials.)
Download
Error in Figure 6-14
The figure was incorrectly identified in the write-up to REUSE fig 6-10, it SHOULD have indicated to use fig 6-14.

Download
Image, page 217
Second bullet details: While Microsoft may not have a built in method to test a CustomView, it doesn't mean that we can't come up with a way to do it. One method I've used in many solutions is to create a CustomDocumentProperty in the workbook.
You'd then need to modify the rxtglHideExpense_Click callback to write to the CustomDocumentProperty each time the button is clicked to record the appropriate state.
Since this is saved with the workbook, you can then use the Workbook_Open event to check the state of the CustomDocument property. You could then pass this value to the getPressed routine to ensure that the state is set correctly.
The code to create it looks similar to the following:
  Dim sDocPropName As String Dim DocProps As DocumentProperties  sDocPropName = "ButtonPressed"  Set DocProps = ActiveWorkbook.CustomDocumentProperties DocProps.Add Name:=sDocPropName, _ LinkToContent:=False, _ Type:=msoPropertyTypeBoolean, _ Value:= '<--pass a TRUE or FALSE value here  You would then query the value with: Dim sDocPropName As String Dim DocProps As DocumentProperties  sDocPropName = "ButtonPressed"  returnedVal = ActiveWorkbook.CustomDocumentProperties(sDocPropName)  And write to it with: ActiveWorkbook.CustomDocumentProperties(sDocPropName) = pressed 

Download
ChapterPageDetailsDatePrint Run
186Error in Text
Parent Objects of the button Element

SHOULD BE:

Parent Objects of the checkBox element .
05/28/2008

210Error in Table 6-14
Table 6-14:

The VBA callback signature should be:
Sub OnAction(control as IRibbonControl, pressed as Boolean)
02/28/2008

217Error in Code
While Microsoft may not have a built in method to test a CustomView, it doesn't mean that we can't come up with a way to do it. One method I've used in many solutions is to create a CustomDocumentProperty in the workbook. You'd then need to modify the rxtglHideExpense_Click callback to write to the CustomDocumentProperty each time the button is clicked to record the appropriate state. Since this is saved with the workbook, you can then use the Workbook_Open event to check the state of the CustomDocument property. You could then pass this value to the getPressed routine to ensure that the state is set correctly.
The code to create it looks similar to the following: Dim sDocPropName As String Dim DocProps As DocumentProperties sDocPropName = ButtonPressed Set DocProps = ActiveWorkbook.CustomDocumentProperties DocProps.Add Name:=sDocPropName, _ LinkToContent:=False, _ Type:=msoPropertyTypeBoolean, _ Value:= '<--pass a TRUE or FALSE value here You would then query the value with: Dim sDocPropName As String Dim DocProps As DocumentProperties sDocPropName = ButtonPressed returnedVal = ActiveWorkbook.CustomDocumentProperties(sDocPropName) And write to it with: ActiveWorkbook.CustomDocumentProperties(sDocPropName) = pressed
10/21/2010

217Error in Text and Image
Missing image and text from page--see download in this chapter for page 217.
5/9/2011

367Error in Code
the code from the top of the page

should be:
supertip= It tells you nothing...
which is exactly what this button does!

Again, placing the within the screentip (as opposed to the supertip) will be ineffective.
09/09/08