Académique Documents
Professionnel Documents
Culture Documents
Original
Este contenido no se encuentra disponible en su idioma,
en su pero aquí tiene la versión
tiene la en inglés.
EN Este contenido no se encuentra disponible idioma, pero aquí versión en inglés.
Resumen: Aprende a personalizar la interfaz de usuario Fluent de Office 2007. También aprenden cómo las nuevas
características de Microsoft Visual Studio 2005 Tools para 2007 Microsoft Office System soporte RAD desarrollo de
personalizaciones de la cinta. (40 páginas impresas)
Se aplica a: Microsoft Office Access 2007, Microsoft Office Excel 2007, Microsoft Office Outlook 2007, Microsoft Office
PowerPoint 2007, Microsoft Office Word 2007, Microsoft Visual Studio 2005 Tools para 2007 Microsoft Office System,
Microsoft Visual Studio 2005
Contenido
¿Qué soluciones?
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 1/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Cargando imágenes
Conclusión
Recursos adicionales
Nota
Se implementa la interfaz de usuario fluida en varias aplicaciones en la versión 2007 de Microsoft Office, incluyendo
Microsoft Office Access 2007, Microsoft Office Excel 2007, Microsoft Office PowerPoint 2007 y Microsoft Office Word
2007. La cinta también está disponible en Microsoft Office Outlook 2007 mientras se edita un elemento de Outlook.
Puede personalizar la interfaz de usuario fluida a través de una combinación de marcado XML y cualquier lenguaje
basado en .NET Framework es compatible con Microsoft Visual Studio de Microsoft. También puede personalizar la
interfaz de usuario fluida mediante Microsoft Visual Basic para aplicaciones (VBA), Microsoft Visual C++ y Microsoft
Visual Basic 6.0.
Utilizando archivos de formato XML para personalizar la interfaz de usuario Fluent grandemente reduce la necesidad de
complejos complementos basado en el modelo de objetos de barras de comandos. Sin embargo, los complementos
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 2/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
escritos para versiones anteriores de Office se continúan trabajando en la interfaz de usuario fluida con poca o ninguna
modificación.
¿Qué soluciones?
En versiones anteriores de Office, los desarrolladores utilizan el modelo de objetos de comando barras para construir el
código de Visual Basic que modifica la interfaz de usuario fluida. En la versión 2007 de Office, este código legado continúa
trabajando en la mayoría de los casos sin modificación. Sin embargo, los cambios realizados en las barras de herramientas
en Microsoft Office 2003, ahora aparecen en una ficha Complementos . El tipo de personalización que aparece depende
del diseño original del add-in. Por ejemplo, la oficina crea un grupo de Comandos de menú que contiene elementos
agregados a la estructura de menú anterior (como el menú archivo , el menú Insertar y el menú herramientas ). Oficina
también crea un grupo de Comandos de la barra de herramientas que contiene elementos a las barras de herramientas
integradas anteriores (como la barra de herramientas estándar , la barra de herramientas de formato y la barra de
herramientas de imagen ). Además, las barras de herramientas personalizados que se agregan un complemento o un
documento aparecen en el grupo Barras de herramientas personalizadas en la ficha Complementos .
Mediante el uso específico de las aplicaciones los complementos, como .ppam y .xlam.
Nota
Access 2007 y Outlook 2007 implementan personalizaciones de la cinta en formas ligeramente diferentes de las otras
aplicaciones de oficina.
En un escenario típico, el código en un COM add-in contiene un procedimiento que devuelve el marcado XML de un
archivo de personalización externa o de XML contenidos en el código sí mismo. Cuando se inicia la aplicación, el
complemento de carga y ejecuta el código que devuelve el marcado XML. El código valida el marcado XML contra un
esquema XSD (aunque eso es opcional) y luego carga el XML en memoria y se aplica a la interfaz de usuario fluida.
Entonces aparece la interfaz de usuario fluida modificada. Controles y comandos de la interfaz de usuario utilizan
procedimientos de devolución de llamada para ejecutar código en el complemento.
Personalizaciones de nivel de documento utilizan el mismo formato XML y un archivo formatos de XML abierto de Office
con una de estas extensiones: .docx, .docm, .xlsx, .xlsm, .pptx o .pptm. Para estas soluciones, puede crea un archivo de
personalización que contiene el marcado XML y guardarlo en una carpeta. Posteriormente, deberá modificar las partes en
el contenedor para indicar el archivo de personalización de formatos de XML abierto de Office. Al abrir el documento en la
aplicación de Office, la aplicación carga el archivo de personalización en la memoria y lo aplica a la interfaz de usuario
fluida. Los comandos y controles de llaman código contenida en el documento para proporcionar la funcionalidad.
Especifique las devoluciones de llamada para actualizar las propiedades y realizar acciones desde su interfaz de usuario
fluida en tiempo de ejecución. Por ejemplo, para especificar una acción que se produce cuando el usuario hace clic en un
botón en la cinta, debe suministrar la función de devolución de llamada onAction del botón. El marcado de la
extensibilidad de la cinta se ve así:
XML
This markup tells Office to call the MyButtonOnAction method when the button is clicked. The MyButtonOnAction
method has a specific signature depending on your choice of languages; here is an example:
C#
Note
Depending on how you create your customization, you may need to add a reference to the System.Windows.Forms
assembly to call the MessageBox.Show method.
The MyButtonOnAction procedure must be declared as public. The control parameter carries the unique id and tag
properties of the control, which enables you to use the same callback procedure for multiple controls.
Note
All attributes in the Ribbon XML customization markup use the camel-casing convention, which capitalizes the first
character of each word except the first word—examples include onAction and insertBeforeMso.
All controls in Ribbon extensibility markup must include one of the following identifiers.
Identifier Description
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 4/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
id Specifies a unique identifier for the control. Used with custom controls. This identifier is passed as a
property on an IRibbonControl to callback functions.
idQ Specifies a qualified identifier, prefixed with a namespace abbreviation, as in the following example.
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
xmlns:x="myNameSpace">
<button idQ="x:myButton" … />
Note
The example uses the namespace x so that two different add-ins can add to the same custom group—they just need to
refer to that custom group by its qualified name.
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome">
<group idMso="GroupFont" visible="false" />
</tab>
<tab id="CustomTab" label="My Tab">
<group id="SampleGroup" label="Sample Group">
<toggleButton id="ToggleButton1" size="large"
label="Large Toggle Button"
getPressed="ThisDocument.MyToggleMacro"
onAction="ThisDocument.MyActionMacro" />
<checkBox id="CheckBox1" label="A CheckBox"
screentip="This is a check box"
onAction="ThisDocument.MyCheckboxMacro" />
<editBox id="EditBox1" getText="ThisDocument.MyTextMacro"
label="My EditBox" onChange="ThisDocument.MyEditBoxMacro"/>
<comboBox id="Combo1" label="My ComboBox"
onChange="ThisDocument.MyComboBoxMacro">
<item id="Zip1" label="33455" />
<item id="Zip2" label="81611" />
<item id="Zip3" label="31561" />
</comboBox>
<dialogBoxLauncher>
<button id="Launcher1" screentip="My Launcher"
onAction="ThisDocument.MyLauncherMacro" />
</dialogBoxLauncher>
</group>
<group id="MyGroup" label="Sample My Group" >
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 5/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
This XML markup results in a modified Fluent UI, as the following figure shows.
This sample makes the following changes to the Fluent UI in Word 2007, in the order shown:
1. The sample declares the default namespace for the XML markup.
2. The sample hides the built-in GroupFont group that is located on the built-in Home tab.
3. The sample adds a new CustomTab tab to the right of the last built-in tab, with the label My Tab.
Note
Use the id identifier attribute to create a custom item, such as a custom tab. Use the idMso identifier attribute
to refer to a built-in item, such as the TabHome tab.
4. The sample adds a new Sample Group group to the My Tab tab.
5. The sample adds a large-sized ToogleButton1 button to the Sample Group group. The markup specifies onAction
and getPressed callbacks.
6. The sample adds a CheckBox1 check box to the Sample Group group with a custom screentip. It also specifies an
onAction callback.
7. The sample adds an EditBox1 edit box to the Sample Group group and specifies an onChange callback.
8. The sample adds a Combo1 combo box to the Sample Group group with three items and specifies an onChange
callback.
9. The sample adds a Launcher1 launcher to the Sample Group group with the onAction callback set.
A launcher normally displays a custom dialog box that offers more options to the user.
10. The sample adds a new Sample Group group to the custom tab.
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 6/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
11. The sample adds a large-sized Button1 button to the Sample Group group and specifies a label and onAction
callback.
12. The sample adds a normal-sized Button2 button to the Sample Group group and specifies an onAction callback.
The easiest way to create Ribbon extensibility markup is to use a validating XML editor. Microsoft Visual Studio 2005
provides such an editor that you can use, if you can provide the necessary schema (XSD) file. In this case, you need a
current copy of customUI.xsd, which is available in several places. For example, when you install Microsoft Visual Studio
2005 Tools for the 2007 Microsoft Office System (also known as Visual Studio 2005 Tools for Office Second Edition), it
adds the schema to the Visual Studio schema catalog, so the schema is available by default in a Visual Studio project. You
can also find the schema at the 2007 Office System: XML Schema Reference Web site. In Visual Studio, create a new XML
file, and in the Properties window, set the Schemas property to include the customUI.xsd file (or enter the schema
reference in the code, as shown in the previous XML document). Then, as you enter XML content into the file, you can take
advantage of Microsoft IntelliSense technology. You might also find the XML Notepad 2006 download useful; it is
available from the Microsoft Download Center. This tool enables you to edit and view XML content in a tree-based format.
Note
Although it is useful to know what is going on within the Office Open XML Formats structure, you may be able to
bypass these steps. You can take advantage of the Custom Fluent UI Editor, available at OpenXMLDeveloper.org. This
tool enables you to open a document, insert custom UI, and then save the document with the Ribbon extensibility
markup in place. It performs for you the steps listed in this example. It also enables you to add custom icons to the
customUI folder, and makes it easy to refer to these icons. You can download the Custom UI Editor from the
OpenXMLDeveloper.org Custom UI Editor Tool Web page.
2. Create the customization file in any text editor by writing XML markup that adds new components to the Fluent UI,
modifies existing components, or hides components. You can use the XML markup from the previous example, to
test the behavior. Save the file as customUI.xml (or any other name) in the folder you just created.
3. Validate the XML markup against your custom Fluent UI schema (optional).
4. Create a document in the Office application, and then save it as an Office Open XML Formats file with one of these
extensions: .docx, .docm, .xlsx, .xlsm, .pptm, or .pptx.
File name extensions for files that contain macros have an "m" suffix. These files can contain procedures that can be
called by Ribbon extensibility commands and controls.
Caution
You must save the document in macro-enabled format if you want to add code that reacts when the user
interacts with the Ribbon customization. Documents with this functionality include the .docm, .xlsm, and .pptm
formats. For all the examples in this article that include Microsoft Visual Basic for Applications (VBA) code, you
must save the host document as one of these formats.
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 7/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
6. In Microsoft Windows Explorer, add the file name extension .zip to the document file name, and then double-click
the file to open it as a compressed folder.
7. Add the customization file to the container by dragging the customUI folder from the desktop to the compressed
folder.
8. Drag the _rels folder to the desktop. A folder named _rels containing the .rels file appears on the desktop.
9. Open the new folder, and then open the .rels file in a text editor.
10. Between the final <Relationship> element and the closing <Relationships> element, add a line that creates a
relationship between the document file and the customization file. Ensure that you specify the folder and file names
correctly (the Id attribute supplies a unique relationship ID for the customUI—its value is arbitrary).
XML
<Relationship Type="http://schemas.microsoft.com/office/2006/
relationships/ui/extensibility" Target="/customUI/customUI.xml"
Id="customUIRelID" />
12. Drag the .rels file from the desktop to the _rels folder in the compressed file, replacing the existing .rels file.
When you open the file in the Office application, the UI appears with your customizations. Depending on your application
settings, if you use the markup from the previous section in this example, you might receive several warning messages as
you open the document. Because you have not supplied the code that corresponds to the various callback procedures,
you have not really created a complete custom UI yet.
2. Create a file to customize the Fluent UI by adding one tab, one group, and one button.
3. Create a procedure in VBA that the Fluent UI calls, in response to the button being clicked.
4. Especificar el atributo de devolución de llamada onAction en el marcado del botón, por lo que llama a la macro
que creó en el documento.
5. Modificar el contenido del contenedor de documento habilitado para macros que contiene el archivo que
personaliza la interfaz de usuario fluida.
Nota
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 8/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Puede seguir los mismos pasos básicos al crear un documento de Word o PowerPoint habilitada para macros.
Nota
Si no ves la ficha programador , debe identificarse como un desarrollador. Para hacer esto en su aplicación,
haga clic en el Botón de Microsoft Office, haga clic en Opcionesde la aplicación , haga clic en Populary luego
seleccione Mostrar ficha programador en la cinta. Esta es una configuración global que le identifica a usted
como desarrollador en todas las aplicaciones de oficina que implementan la interfaz de usuario fluida.
3. En el Editor de Visual Basic, haga doble clic en ThisWorkbook para abrir la ventana de código .
4. Escriba la siguiente función VBA y haga clic en el icono de Excel en la esquina izquierda de la barra de herramientas
para volver a Excel.
VB
5. Guarde el documento como un libro habilitado para macros con el nombre archivo extensión .xlsm.
Nota
Si guarda el documento como un documento .xlsx estándar, usted no será capaz de ejecutar el código de
macro. Al guardar el documento, debe seleccionar explícitamente la opción de menú Guardar como y
seleccione Excel Macro-Enabled libro (*.xlsm).
6. Salir de Excel.
Para crear el archivo que contiene el marcado XML para modificar la interfaz de usuario Fluent
2. Crear un nuevo archivo de texto, agregue el siguiente XML y guarde el archivo como customUI.XML en la carpeta
customUI en su escritorio.
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="CustomTab" label="My Tab">
<group id="SimpleControls" label="My Group">
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3D… 9/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Para modificar los archivos contenidos en el contenedor de archivo habilitado para macros
1. En el explorador de Windows, buscar el archivo con macros que creó. Renombrar el archivo añadiendo la extensión
zip .
6. Agregue el texto siguiente entre el último elemento de la relación de < > y el < / relaciones > elemento y luego
guardar y cerrar el archivo.
XML
<Relationship Id="customUIRelID"
Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility"
Target="customUI/customUI.xml" />
7. Arrastre el archivo .rels desde el escritorio a la carpeta _rels en la carpeta comprimida, reemplazando el archivo
.rels existente.
9. Abra el archivo habilitado para macros en Excel 2007. La interfaz de usuario personalizada reemplaza la interfaz de
usuario Fluent incorporado.
Nota
Dependiendo de la configuración de seguridad, se puede ver una advertencia de seguridad pidiéndole que se
deshabilitaron las macros. Si, haga clic en el botón Opciones que aparece junto a la advertencia, seleccione
habilitar este contenidoy haga clic en Aceptar.
10. Haga clic en el botón grande. Clic en el botón desencadena la devolución de llamada onAction , que llama a la
macro en el libro, que muestra el mensaje "Hola mundo".
administrado: puede utilizar la plantilla Compartida Add-In que se incluye con Visual Studio 2005, o puede utilizar Visual
Studio 2005 Tools para Office segunda edición, que hace aún más fácil de crear complementos. Los pasos siguientes
describen la secuencia de llamada de método subyacente para un COM add-in que personaliza la cinta de opciones.
Aunque los conceptos son los mismos independientemente de cómo se crea el add-in, el código específico que usted
necesita para escribir será diferente, como se verá en secciones posteriores de este artículo que guiarán a través de
ejemplos que crean add-ins, mediante el uso de ambas técnicas.
A continuación, oficina llama al método QueryInterface (por los complementos no administrado) o el método de dos
(para administrado complementos), que determina si el add-in que implementa la interfaz IRibbonExtensibility . Si lo
hace, oficina llama al método IRibbonExtensibility::GetCustomUI , que devuelve el marcado XML (de un archivo de
personalización XML o de marcado XML incrustado en el procedimiento), y luego oficina carga la interfaz de usuario fluida
modificada para requisitos particulares en la aplicación. Por último, la interfaz de usuario personalizado está listo para el
usuario.
PRECAUCIÓN
Debido a la arquitectura interna del mecanismo de devolución de llamada de la cinta, es importante que lleve a cabo
ninguna inicialización en el método GetCustomUI distintos de preparación y regresar el formato XML de la cinta.
Específicamente, no muestra los cuadros de diálogo o ventanas de mensaje desde dentro de este método de
devolución de llamada.
Cada control en el marcado XML expone su funcionalidad mediante llamadas a los procedimientos de devolución de
llamada. Por ejemplo, el marcado XML para un control de botón puede especificar un atributo onAction que apunta a un
procedimiento que se ejecuta cuando el usuario hace clic en el botón. En la mayoría de los casos, el procedimiento de
devolución de llamada expone una interfaz de IRibbonControl que identifica el control. La devolución de llamada puede
pasar otros argumentos, como un objeto Boolean que especifica el estado de un botón de alternar como presionado o no
presionado. La interfaz de IRibbonControl implementa tres propiedades: el objeto de contexto , el objeto del Id y la
propiedad Tag . El objeto de contexto es la ventana activa que contiene la cinta que desencadena la devolución de
llamada. El objeto del Id es el identificador de cadena del control personalizado especificado en el marcado. La propiedad
Tag es una propiedad no único que opcionalmente, puede especificar en el marcado.
Acceso proporcionan flexibilidad en la personalización de la interfaz de usuario fluida. Por ejemplo, marcado de
personalización puede ser almacenado en una tabla, incrustado en un procedimiento VBA, almacenado en otra base de
datos de Access o vinculado desde una hoja de cálculo de Excel. También puede especificar una interfaz de usuario
personalizada para la aplicación en su conjunto o para informes y formularios específicos.
Los siguientes escenarios pueden dar una idea de cómo personalizar la interfaz de usuario de acceso.
Nota
Porque estos tutoriales implican cambios a la base de datos, puede realizar estos pasos en una base de datos de
producción de no, tal vez utilizando una copia de una base de datos.
Si usted decide acceder a cargar las personalizaciones para usted, usted necesita almacenar en una tabla denominada
USysRibbons. La tabla debe tener al menos dos columnas: una columna de texto de 255 caracteres llamada
RibbonNamey una columna de Memo llamado RibbonXML. Coloque el nombre de la cinta en la columna de
RibbonName y el marcado de la cinta en la columna de RibbonXML . Después de cerrar y volver a abrir la base de datos,
puede seleccionar el valor predeterminado para utilizar en el cuadro de diálogo propiedades de acceso de la cinta. Puede
seleccionar una cinta que aparecen cuando se selecciona cualquier formulario o informe como una propiedad del
formulario o informe.
Si usted decide utilizar una técnica más dinámica, puede llamar al método LoadCustomUI , que carga las
personalizaciones de la cinta si el contenido XML se almacena en una tabla o no. Después de haber cargado las
personalizaciones llamando LoadCustomUI, puede asignar mediante programación el nombre personalización en tiempo
de ejecución.
Nota
Personalizaciones que se cargan mediante el método LoadCustomUI están disponibles sólo cuando la base de datos
está abierta. Usted tiene que llamar LoadCustomUI cada vez que abra la base de datos. Esta técnica es útil para
aplicaciones que necesitan para asignar la interfaz de usuario personalizada mediante programación en tiempo de
ejecución.
El siguiente procedimiento describe, de manera generalizada, cómo agregar personalizaciones de nivel de aplicación en el
acceso. Una sección posterior incluye un completo tutorial.
1. Crear una tabla denominada USysRibbons con columnas como se describió anteriormente. Insertar filas para cada
cinta diferentes que desea poner a disposición.
4. Haga clic en la opción de Base de datos actual , en la sección de la cinta y las opciones de barra de
herramientas , haga clic en la lista desplegable de Nombre de la cinta y haga clic en una de las cintas.
Para quitar una personalización existente (de modo que su base de datos utiliza el valor predeterminado de interfaz de
usuario Fluent), eliminar el nombre existente de la cinta de la lista de Nombre de la cinta y dejar un valor vacío para el
nombre de la cinta.
El siguiente procedimiento describe, de manera generalizada, cómo agregar personalizaciones de nivel de formulario o
personalizaciones de nivel de informe en Access.
1. Seguir el proceso descrito anteriormente para hacer la cinta modificado para requisitos particulares disponibles
para la aplicación, agregando la tabla USysRibbons .
4. En la ventana propiedades , en la ficha otros , haga clic en la lista desplegable de Nombre de la cinta y haga clic
en una de las cintas.
5. Guardar, cerrar y luego volver a abrir el formulario o informe. Se muestra la interfaz de usuario ha seleccionado.
Nota
Las fichas que se muestran en la interfaz de usuario Fluent son aditivos. Es decir, a menos que usted
específicamente oculta las pestañas o establece el atributo de empezar de cero en True, las fichas mostradas
por una forma o interfaz de usuario del informe aparecen además de las fichas existentes.
Para explorar aún más este proceso, trabajan a través de los siguientes ejemplos.
La primera parte del ejemplo establece una opción que reporta los errores que existen cuando se carga la interfaz de
usuario personalizada (aunque está realizando estos pasos en el acceso, puede realizar pasos similares en otras
aplicaciones).
1. Iniciar el acceso. Abrir una base de datos existente o crear una nueva base de datos.
2. Haga clic en el Botón de Microsoft Office, haga clic en Opciones de Accessy haga clic en la ficha avanzado .
3. En la sección General , seleccione la opción Mostrar a usuario en errores de interfaz (esta opción puede ser en
un lugar diferente, en diferentes aplicaciones).
5. Con una base de datos abierta en acceso, haga clic derecho en el panel de navegación . Elija Opciones de
navegacióny haga clic en Mostrar objetos del sistema. (Usted no puede ver la tabla USysRibbons en el panel de
navegación si no se establece esta opción.) Haga clic en Aceptar para cerrar el cuadro de diálogo. Las tablas de
sistema de acceso aparecen en el panel de navegación.
ID Autonumérico
RibbonName Texto
RibbonXml Memo
9. Haga clic en el Botón de Microsoft Officey haga clic en Guardar. Nombre de la nueva tabla USysRibbons.
10. Haga la ficha USysRibbons y, a continuación, haga clic en Vista Hoja de datos.
Nombre del
Valor
campo
ID (Autonumérico)
RibbonName HideData
RibbonXml XML
<customUI
xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabCreate" visible="false" />
<tab id="dbCustomTab" label="A Custom Tab"
visible="true">
<group id="dbCustomGroup" label="A Custom Group">
<control idMso="Paste" label="Built-in Paste"
enabled="true"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 14/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Este marcado establece el atributo startfromScratch en Falsey luego esconde la ficha crear incorporada. A
continuación, se crea una ficha personalizada y un grupo personalizado y agrega el control de goma incorporado
al grupo.
14. Haga clic en el Botón de Microsoft Officey haga clic en Opciones de Access.
15. Haga clic en la ficha Base de datos actual y desplácese hacia abajo hasta encontrar la sección de la cinta y
opciones de la barra de herramientas .
16. En la lista desplegable de Nombre de la cinta , seleccione HideData. Haga clic en Aceptar para cerrar el cuadro
de diálogo.
El grupo Editar ya no aparece, y la interfaz de usuario fluido incluye A medida ficha, que contiene el grupo de Un
grupo de medida con el botón de Goma incorporado .
18. Para limpiar, repetir los pasos anteriores para mostrar el cuadro de diálogo Opciones de Access . Borrar el
contenido de la opción de Nombre de la cinta , por lo que Access muestra con fluidez de la interfaz de usuario
predeterminado después de cerrar y volver a abrir la base de datos.
Nota
También puede utilizar una cinta de la tabla USysRibbons a la interfaz de usuario para un determinado
formulario o informe. Para ello, abra el formulario o informe en modo diseño o Layout y establece la propiedad
RibbonName de en el nombre de la cinta que desea utilizar. Debe seleccionar la forma, en lugar de cualquier
control o sección en el formulario, antes de establecer esta propiedad.
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 15/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
1. Cargar la base de datos que usted trabajó con en la sección anterior en Access 2007. Si su base de datos no incluye
ya más de una forma, crear unos formularios y agregar un control o dos para cada forma.
2. En la ficha crear , en el otro grupo, haga clic en el menú desplegable del botón Macro y haga clic en módulo de.
4. En la ventana propiedades , en el cuadro de propiedad nombre , cambie el nombre del módulo a RibbonLoader.
5. En la ventana de código, inserte el código siguiente. Aunque este método no devuelve un valor, debe ser una
función, de lo contrario, no se puede llamar desde una macro de Access.
VB
Function CreateFormButtons()
Dim xml As String
xml = _
"<customUI xmlns=""http://schemas.microsoft.com/" & _
"office/2006/01/customui"">" & vbCrLf & _
" <ribbon startFromScratch=""false"">" & vbCrLf & _
" <tabs>" & vbCrLf & _
" <tab id=""DemoTab"" label=""LoadCustomUI Demo"">" & _
vbCrLf & _
" <group id=""loadFormsGroup"" label=""Load Forms"">" & _
vbCrLf & _
"{0}" & vbCrLf & _
" </group>" & vbCrLf & _
" </tab>" & vbCrLf & _
" </tabs>" & vbCrLf & _
" </ribbon>" & vbCrLf & _
"</customUI>"
Cuando se ejecuta el código, crea marca que podría ser el siguiente XML, si su aplicación contiene dos formularios
Form1 y Form2 el nombre.
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 16/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="DemoTab" label="LoadCustomUI Demo">
<group id="loadFormsGroup" label="Load Forms">
<button id="loadForm2Button" label="Load Form2"
onAction="HandleOnAction" tag="Form2"/>
<button id="loadForm1Button" label="Load Form1"
onAction="HandleOnAction" tag="Form1"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Este marcado crea una nueva pestaña LoadCustomUI Demo que contiene un grupo de Formas de carga . Dentro
del grupo, la cinta muestra un botón para cada formulario en la aplicación (Form1 y Form2) e indica que cada
botón debe llamar al procedimiento de devolución de llamada HandleOnAction cuando hace clic en. Además, el
marcado establece el atributo de la etiqueta de cada botón para que contenga el nombre de la forma de acceso
que debe abrir su código.
VB
8. Si la aplicación no contiene al menos dos formas, crear formas hasta que la aplicación contiene al menos dos
formas.
9. Decidir que uno de los formularios debe ser el formulario de inicio de la aplicación y abrir ese formulario en la vista
Diseño.
10. En la ventana propiedades , en la ficha evento , encontrar la propiedad de evento onLoad . Haga clic en el botón
de puntos suspensivos (...) a la derecha del valor de la propiedad, seleccione Generador de código en la lista de
opciones y haga clic en Aceptar. (Si no ves la ventana propiedades , en la ficha diseño , haga clic en Hoja de
propiedades.)
11. En el Editor de Visual Basic, modifique el procedimiento Form_Load para que se vea como el siguiente código.
VB
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 17/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Me.RibbonName = "FormNames"
End Sub
12. En el menú herramientas , haga clic en referencias. Seleccione Biblioteca de objetos de Microsoft Office 12.0
(necesita una referencia a esta biblioteca de objeto se utiliza la clase IRibbonControl ) y haga clic en Aceptar.
14. Haga clic en el Botón de Microsoft Officey haga clic en Opciones de Access.
16. En la sección Opciones de la aplicación , seleccione su formulario de inicio en la lista Mostrar formulario de
formularios y haga clic en Aceptar.
Se abre el formulario de inicio, junto con una ficha personalizada que contiene un grupo que muestra un botón
para cada formulario en su aplicación. Haga clic en cualquiera de los botones: acceso abre el formulario
correspondiente, manteniendo la misma interfaz de usuario personalizada.
Además de las técnicas descritas, puede añadir personalizaciones de la cinta de acceso utilizando un agregar-in. COM
complementos COM proporcionan el beneficio de agregar funcionalidad de extensibilidad de la cinta personalizada como
un paquete sin necesidad de añadir código de VBA para cada aplicación. Los complementos se implementan en el acceso
al igual que en otras aplicaciones de Office.
Nota
Aunque puede utilizar la plantilla de Visual Studio 2005 Compartido Add-In para crear un complemento COM para el
acceso, puede utilizar Visual Studio 2005 Tools para Office segunda edición para crear complementos COM para el
acceso. Acceso no es una de las aplicaciones soportadas en Visual Studio 2005 Tools para Office segunda edición.
Nota
Para demostrar el comportamiento de las personalizaciones de la cinta en las secciones siguientes, puede utilizar las
técnicas discutidas en este artículo, en la sección Personalización de la interfaz de usuario Fluent para aplicaciones de
oficina más.
Modifica el menú de Microsoft Office para incluir sólo la nueva, abierto, Guardar, aplicación de Opcionesy
comandos de salida
En el archivo de marcado XML puede especificar que desea ocultar los controles en el menú de Microsoft
Office . Debe solicitar explícitamente estas alteraciones en el marcado XML estableciendo el atributo Visible
para el control particular en False. Ocultar estos comandos puede poner la aplicación en un estado
irrecuperable que puede borrar sólo por cerrar la aplicación y desinstalar la solución.
El atributo startFromScratch hace ningunos cambios a la barra de estado, que sigue presente.
El formato XML de ejemplo siguiente utiliza el atributo startFromScratch para personalizar la interfaz de usuario fluida.
XML
Esta muestra esconde todos los componentes integrados en la interfaz de usuario Fluent y las reemplaza con diversos
controles, una ficha personalizada y un grupo.
XML
Si usted quiere determinar mediante programación si desea mostrar u ocultar una ficha (u otro elemento), puede
proporcionar un procedimiento de devolución de llamada. Es decir, se puede definir el elemento en el XML siguiente.
XML
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 19/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Luego, en un add-in, o código de VBA, puede proporcionar un procedimiento que devuelve un valor booleano que indica
si el elemento es visible. Por ejemplo, puede utilizar código como el siguiente para ocultar de la ficha Insertar en Word
2007 los fines de semana.
VB
XML
<tab idMso="TabView">
<group idMso="GroupDocumentViews" visible="false" />
<group id="MyCustomGroup" label="Custom Group"
getVisible="getVisibleCallback" />
</tab>
XML
XML
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 20/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Puede utilizar el código siguiente para agregar un grupo personalizado y luego agregar controles personalizados.
XML
XML
XML
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 21/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
XML
Los siguientes procedimientos VBA proporcionan un comportamiento de devolución de llamada para los elementos de la
galería y el botón de la galería.
VB
Note Nota
Al definir la galería, todos los elementos elemento deben aparecer antes de cualquier elemento de botón.
Puede rellenar controles de galería en tiempo de ejecución utilizando devoluciones de llamada. Puede utilizar la
devolución de llamada de getItemCount para determinar el número de elementos a mostrar, las devoluciones de
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 22/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
llamadas getItemHeight y getItemWidth para recuperar la altura y la anchura de los elementos de la galería, la
getItemImage y las devoluciones de llamada getItemLabel para recuperar la imagen y la etiqueta para cada elemento y
la devolución de llamada getSelectedItemID o getSelectedItemIndex para recuperar el ID o el índice seleccionado.
XML
<dropDown id="HeadingsDropDown"
getItemCount="GetItemCount"
getItemID="GetItemID"
getItemLabel="GetItemLabel"/>
Luego, en el código (en este caso, en un módulo del Editor de Visual Basic dentro de un documento de Word), agregue
los siguientes procedimientos de devolución de llamada.
VB
Ahora, cuando abra la lista desplegable, muestra todos los encabezados en el documento.
En el ejemplo siguiente se establece tres grupos, uno que utiliza las cajas horizontales, que utiliza las cajas verticales y uno
que no utiliza cuadros. La figura 4 muestra los resultados.
XML
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 23/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Entre otras ventajas, los complementos que se crean mediante el uso de Visual Studio 2005 Tools para Office segunda
edición se ejecutan en dominios de aplicación independientes, y el modelo de programación para estos complementos es
más simple y más fácil de mantener, que el utilizado por el común de plantilla. Para más información, vea migrar un
Shared Add-in a un Visual Studio 2005 Tools para la Oficina sistema SE Add-in .
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 24/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
3. En el cuadro de diálogo Nuevo proyecto , en el panel Tipos de proyecto , expanda Otros tipos de proyecto,
haga clic en extensibilidady seleccione Shared Add-in.
4. En el cuadro nombre , escriba InsertCompanyAddIny haga clic en Aceptar para crear el proyecto.
5. En la primera página del Shared agregar Asistente para, haga clic en siguiente.
6. En la página Seleccione un lenguaje de programación , seleccione Visual C# o Visual Basicy haga clic en
siguiente.
7. En la página Seleccione una aplicación Host , desactive todas las selecciones excepto Microsoft Wordy haga clic
en siguiente.
8. En la página ingrese un nombre y descripción , escriba InsertCompanyAddIn para el nombre e Insertar nombre
de la empresa para la descripción y haga clic en siguiente.
9. En la página Elija Add-en opciones , seleccione me gustaría mi Add-in para cargar cuando se carga la
aplicación host, haga clic en siguientey haga clic en Finalizar.
Visual Studio crea una nueva solución que contiene dos proyectos: el complemento de sí mismo y un proyecto de
instalación. (El proyecto de instalación le permite instalar el add-in en equipos de otros usuarios, y hace más fácil para
usted, en tiempo de diseño, instalar y desinstalar el add-in).
Para interactuar con Word 2007 y el modelo de objetos de la cinta, agregue referencias a dos las bibliotecas de tipos.
Añadir referencias
Si no ves la carpeta referencias , en el menú proyecto , haga clic en Mostrar todos los archivos.
4. Haga clic en la ficha COM , seleccione Biblioteca de objetos de Microsoft Office 12.0y haga clic en Aceptar.
5. En la parte superior del archivo de código abierto, agregue las siguientes declaraciones al proyecto.
VB
Imports Microsoft.Office.Core
Imports Word = Microsoft.Office.Interop.Word
C#
using Microsoft.Office.Core;
using Word = Microsoft.Office.Interop.Word;
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 25/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
2. En el cuadro de diálogo Agregar nuevo elemento , seleccione Archivo XML. Nombre el nuevo archivo
Ribbon.xmly haga clic en Agregar.
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="CustomTab" label="My Tab">
<group id="SampleGroup" label="Sample Group">
<button id="Button" label="Insert Company Name"
size="large" onAction="InsertCompanyName" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Es más fácil utilizar el archivo XML si es tratada como un recurso en el archivo de recursos del proyecto.
2. En la ventana propiedades , seleccione la propiedad Build Action y seleccione Recurso incrustado en la lista de
opciones.
Esta acción crea un nuevo recurso basado en el archivo que contiene el XML contenido. De ahora en adelante, el
archivo de Ribbon.xml se almacena automáticamente como un recurso de aplicación y puede recuperar este
contenido mediante características de lenguaje de Visual Basic o Visual C#.
6. Cierre la ventana de recursos . Cuando se le pida, haga clic en sí para guardar los recursos.
1. En el Explorador de soluciones, haga clic derecho en Connect.cs o Connect.vby haga clic en Ver código.
2. Encontrar la declaración existente para la variable applicationObject y modificar por lo que se refiere a un objeto
Word.Application . Es decir, modifique la declaración para que se vea como el siguiente código.
VB
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 26/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
C#
3. Modificar la primera línea del método OnConnection , que crea una instancia del objeto Word.Application .
VB
C#
applicationObject =(Word.Application)application;
4. (Sólo en Visual Basic) Modificar la línea de código, en la parte superior de la clase, que comienza con los
implementos, añadiendo soporte para implementar el espacio de nombres IRibbonExtensibility . Visual Basic
inserta el procedimiento GetCustomUI automáticamente.
VB
5. (C# solamente) Al final de la la clase Connect: declaración, agregue una coma y luego escriba el siguiente nombre
de interfaz.
C#
IRibbonExtensibility
6. (C# solamente) Haga clic derecho en la interfaz que acaba de agregar, haga clic en Implementar interfazy haga
clic en Implementar interfaz explícitamente. Esto agrega un trozo para el único miembro de la interfaz
IRibbonExtensibility : GetCustomUI.
VB
C#
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 27/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
PRECAUCIÓN
GetCustomUI deberían implementarse para devolver la cadena XML para la personalización de la cinta y no
debe usarse para la inicialización. En particular, usted no debe intentar Mostrar cuadros de diálogo ni ventanas
de mensaje en la implementación de GetCustomUI . El lugar más apropiado para hacer la inicialización es en el
método OnConnection (para compartir complementos) o en el método ThisAddIn_Startup (para los
complementos creados mediante el uso de Visual Studio 2005 Tools para Office segunda edición).
8. Agregue el siguiente método a la clase. Este método inserta el nombre de la empresa en el documento en la
ubicación actual del cursor.
VB
C#
14. Haga clic en siguiente en cada una de las páginas y haga clic en cerrar en la última pantalla.
16. Haga clic en Mi fichay haga clic en Insertar nombre de la empresa. Word inserta el nombre de la empresa en el
documento en la posición del cursor.
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 28/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
18. En Visual Studio, en el Explorador de soluciones, haga clic en InsertCompanyAddInSetupy luego haga clic en
desinstalar.
Utilizando un Visual Studio 2005 Tools para Office segunda edición proyecto para modificar la
interfaz de usuario Fluent
Este ejemplo muestra cómo crear el mismo complemento como en el ejemplo anterior, pero esta vez mediante el uso de
herramientas de Visual Studio 2005 Tools para Office segunda edición.
6. Nombre el nuevo complemento InsertCompanyAddIn1y haga clic en Aceptar para crear el nuevo complemento.
Visual Studio crea una nueva solución que contiene dos proyectos: el complemento de sí mismo y un proyecto de
instalación. (El proyecto de instalación le permite instalar el add-in en equipos de otros usuarios, y que hace más fácil para
instalar y desinstalar el complemento en tiempo de diseño).
Tenga en cuenta que aunque el nuevo complemento de implementa la interfaz IExtensibility2 , que no ver todos los
trámites requeridos por esta interfaz. En cambio, Visual Studio 2005 Tools para Office segunda edición crea una clase
simple denominada ThisAddIny proporciona procedimientos que es probable que necesite. Puede agregar código al
método ThisAddIn_Startup o al método ThisAddin_Shutdown , según corresponda. Para este ejemplo, no necesita
código en cualquiera de los métodos. También no necesita modificar código o establecer referencias para crear el add-in,
todos los trabajos de conexión se ha hecho para usted.
La plantilla añade un archivo XML denominado Ribbon1.xmly una nueva clase al proyecto. El archivo XML
contiene una muy simple interfaz de usuario personalizada. El nuevo archivo Ribbon1 contiene una extensión
comentó fuera de la clase ThisAddIn y una clase nueva denominada Ribbon1.
4. En el Explorador de soluciones, haga doble clic en Ribbon1.xml para abrirlo en el editor XML.
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="onLoad">
<ribbon>
<tabs>
<tab id="CustomTab" label="My Tools Tab">
<group id="SampleGroup" label="Sample Group">
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 29/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Es más fácil utilizar el archivo XML si es tratada como un recurso en el archivo de recursos del proyecto.
Esta acción crea un nuevo recurso basado en el archivo que contiene el XML contenido. De ahora en adelante, el
archivo Ribbon1.xml se almacena automáticamente como un recurso de aplicación y puede recuperar este
contenido mediante características de lenguaje de Visual Basic o Visual C#.
4. Cierre la ventana de recursos . Cuando se le pida, haga clic en sí para guardar los recursos.
1. En el Explorador de soluciones, haga clic derecho Ribbon1.vb o Ribbon1.csy haga clic en Ver código.
2. En el Editor de código, seleccione la clase parcial ThisAddIny quite el comentario de la clase parcial.
El procedimiento de RequestService permite el Visual Studio 2005 Tools para Office segunda Edition runtime
determinar qué clase debe manejar las devoluciones de llamada para la personalización de la cinta del add-in. Si
este procedimiento se pasa un GUID corresponde a la interfaz IRibbonExtensibility , devuelve su instancia
IRibbonUI , si lo tiene. Si no, pasa el control al método RequestService de su clase base.
Note Nota
3. En la clase Ribbon1 , modificar el procedimiento GetCustomUI para que devuelve el XML desde el recurso
Ribbon1, en lugar de llamar a procedimiento del add-in GetResourceText .
VB
Return My.Resources.Ribbon1
C#
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 30/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
return Properties.Resources.Ribbon1;
Note Nota
La plantilla incluye, dentro de la región oculta de ayudantes , un procedimiento llamado GetResourceText que
recupera el contenido del archivo XML para usted. Aunque este procedimiento hace el trabajo que necesita,
requiere especificar el nombre del recurso como una cadena. Esta técnica es algo frágil (cambios en el nombre
del recurso permitiría todavía el código a compilar, pero complemento fallaría en tiempo de ejecución), así que
es mejor agregar el XML contenido en el archivo de recursos y la utilización el lenguaje específico apoyo para
recuperar recursos , como se muestra en estos pasos. La plantilla incluye el procedimiento GetResourceText
para que puedan trabajar "fuera de la caja", al crear y construir un add-in, usted tiene un trabajo de
personalización de la cinta sin ningún cambio.
4. En la clase Ribbon1 , agregue una declaración pública para una variable que puede referirse al objeto de
aplicación de la palabra.
VB
C#
5. En el mismo archivo, en la clase parcial ThisAddIn, inmediatamente debajo de la línea de código que crea la
instancia de la clase Ribbon1 , agregue código que establece la propiedad Application de la clase Ribbon1.
VB
C#
6. Agregue el procedimiento siguiente a la clase Ribbon1 , para que pueda manejar la devolución de llamada
onAction del botón nuevo en la cinta de opciones y coloque el nombre de la empresa en la posición del cursor en
el documento.
VB
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 31/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Application.Selection.InsertAfter(companyName)
End Sub
C#
Puede construir el proyecto de instalación e instalar el add-in, al igual que en el ejemplo anterior. En este caso, Visual
Studio 2005 Tools para Office segunda edición hace más fácil de ejecutar (y depurar) Complementos presione F5, y el
proyecto funciona como podría esperar. Usted puede obtener el mismo comportamiento con la plantilla de complemento
compartido, solo tienes que configurar las propiedades del proyecto que indican que la aplicación que desea ejecutar al
pulsar F5 y seleccione la aplicación correcta de la oficina. Puede encontrar instructivo para depurar el add-in y añadir un
punto de interrupción en el código.
Devoluciones de llamada que devolución propiedades de un control (como devolución de llamada del control de la
Galería getItemCount ) normalmente llamadas sólo como inicializa la interfaz de usuario fluida, a menos que usted
explícitamente la fuerza el control para volver a inicializar. Puede forzar que esto sucediera por almacenar una referencia a
la cinta de opciones en el código y luego llamar a métodos de la cinta que invalidan un control individual o la cinta entera.
Para ello, debe agregar el atributo onLoad , especificando un procedimiento de devolución de llamada, en el elemento <
customUI > . El callback onLoad es llamado una vez, cuando se carga correctamente el archivo de marcado de
extensibilidad de la cinta. El procedimiento de devolución de llamada recibe un objeto IRibbonUI como parámetro, el
código puede almacenar en caché esta referencia para su uso posterior. La clase IRibbonUI proporciona métodos que
permiten invalidar un control único o la cinta entera.
Para almacenar en caché el objeto IRibbonUI así que usted puede actualizar sus controles en tiempo de ejecución, puede
agregar código como este:
XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="ribbonLoaded">
En el código (código VBA dentro de un documento, o tal vez el código de Visual Basic o código C# en un add-in), añadir
un procedimiento como el siguiente código.
C#
IRibbonUI myRibbon;
Cargando imágenes
El < customUI > atributo del elemento loadImage permite especificar una devolución de llamada que puede cargar
todas las imágenes. Después de configurar este procedimiento de devolución de llamada, llama al procedimiento de
devolución de llamada y pasa la cadena del atributo de imagen para cada control que carga imágenes. No necesita
implementar la devolución de llamada de ejemplo varias veces, como una vez para cada control que requiere imágenes.
Por ejemplo, una personalización puede incluir marcas como la siguiente.
XML
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 33/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
loadImage="GetImage">
<!-- Later in the markup -->
<button id="myButton" image="mypic.jpg" />
Para proporcionar la imagen del botón, oficina llama a la función de ejemplo . Pasa el parámetro "mypic.jpg" y espera a
cambio un objeto IPictureDisp . Mediante el uso de esta técnica, puede escribir un procedimiento de devolución de
llamada solo que devuelve todas las imágenes de sus necesidades de personalización, sin tener que escribir la devolución
de llamada de ejemplo de cada control individual. Tenga en cuenta que la devolución de llamada loadImage no se llama
de nuevo al llamar a Invalidate método o método InvalidateControl la cinta. Para los controles que hay que cambiar
imágenes dinámicamente en tiempo de ejecución, utilice la devolución de llamada de ejemplo .
Por ejemplo, puede utilizar el código del ejemplo siguiente para ofrecer imágenes de la personalización. El método de
devolución de llamada de ejemplo debe devolver un stdole . IPictureDisp tipo, lo que generalmente necesitas convertir
tus imágenes a este tipo. Para realizar estas conversiones, puede utilizar la siguiente clase PictureConverter , que hereda
de la clase de AxHost .
VB
Entonces, el procedimiento de devolución de llamada sea algo como esto, asumiendo que había añadido un icono para
sus recursos de proyecto llamados MyIcon.
VB
Note Nota
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 34/35
7/2/2018 Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Tu proyecto debe tener una referencia que se establece en la Asamblea stdole para ejecutar este código. Esta
referencia está incluida automáticamente en proyectos creados mediante el uso de Visual Studio 2005 Tools para
Office segunda edición.
Conclusión
Personalización de la interfaz de usuario en versiones anteriores de Office significó crear complementos COM o DLL
archivos para cada aplicación que comparte el add-in. Por el contrario, la función de cinta utiliza formato XML basado en
texto, declarativo que simplifica la creación y personalización de la cinta. Con unas pocas líneas de XML, puede crear sólo
la interfaz adecuada para el usuario. Ya que el formato XML está contenido en un solo archivo, modificar la interfaz como
requerimientos de cambio es mucho más simple. También puede mejorar la productividad del usuario al poner los
comandos donde los usuarios pueden encontrar más fácilmente. La cinta añade consistencia a través de aplicaciones, que
reduce el tiempo de los usuarios dedican cada aplicación de aprendizaje.
Recursos adicionales
A aprender más sobre los productos y tecnologías mencionados en este artículo, consulte estos recursos:
Información sobre el diseño de Office XP Office 2003 Add-ins utilizando el .NET Framework y complementos
Cómo construir una oficina COM Add-in mediante Visual Basic .NET
© 2018 Microsoft
https://www.microsofttranslator.com/bv.aspx?from=&to=es&a=https%3A%2F%2Fmsdn.microsoft.com%2Fes-es%2Flibrary%2Faa338202(d%3… 35/35