Desenvolvimento de Ribbons para Office 2007.
Olá pessoal, tudo certo?
Em ritmo de fim de ano e Tech-Ed Brasil 2007, que começa amanhã, dia 05 de dezembro.
Estive preparando uma sessão sobre nosso velho conhecido Office Business Application (OBA) , quando encontrei um blog muito interessante. Ele está nesse link aqui:
https://blogs.msdn.com/jensenh/archive/2006/05/25/606819.aspx
sendo atualizado pelo Jensen Harris, especialista no desenvolvimento de Extensible User Interface para a plataforma Office. A partir do blog, encontramos uma série de 3 artigos que são leitura obrigatória para quem está pensando na customização de Ribbons. Veja os links:
Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
https://msdn2.microsoft.com/en-us/aa338202.aspx
Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
https://msdn2.microsoft.com/en-us/aa338199.aspx
Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)
https://msdn2.microsoft.com/en-us/library/aa722523.aspx
E por falar em Ribbons, sabemos que a construção dessas extensões é um recurso devido o OpenXML, formato básico utilizado pelos documentos do Office System. Assim, um documento OpenXML contém várias seções, como:
- Document Properties
- Comments
- WordML/SpreadsheetML
- Custom-defined XML
- Images, video, sound
- Embedded code
- Macros
- Charts, etc.
Entre elas, temos o Custom-defined XML no folder customUI, que pode ser extendido para a renderização de novos botões de acesso, grupos de controle, entradas de usuário, etc. A figura abaixo apresenta um exemplo de customização de Ribbons para uma planilha Excel. Veja os dois grupos "Valores Financeiros" e "Bolsas e Mercados" no Ribbon abaixo:
Para a criação desse Ribbon, incluímos o trecho customUI.xml a seguir:
<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns=" https://schemas.microsoft.com/office/2006/01/customui ">
<ribbon>
<tabs>
<tab idMso="TabHome">
<group idMso="GroupFont" visible="false" />
</tab>
<tab id="CustomTab" label="Aplicação Contoso">
<group id="IdValores" label="Valores Financeiros">
<button id="cmd1" imageMso="DistributionListAddNewMember" label="Valor Presente" size="large" onAction="cmdMacro1" />
<button id="cmd2" imageMso="DistributionListRemoveMember" label="Valor Futuro" size="large" onAction="cmdMacro2" />
<button id="cmd3" imageMso="AddOrRemoveAttendees" label="Taxa de Juros" size="large" onAction="cmdMacro3" />
<button id="cmd4" imageMso="SharingOpenWssDiscussionList" label="Taxa de Retorno" size="large" onAction="cmdMacro4" />
</group>
<group id="IdBolsas" label="Bolsas e Mercados">
<button id="cmd5" label="IBOVESPA" size="large" onAction="cmdMacro5" />
<button id="cmd6" label="NASDAQ" size="large" onAction="cmdMacro6" />
<button id="cmd7" label="NYSE" size="large" onAction="cmdMacro7" />
<button id="cmd8" label="DOW JONES" size="large" onAction="cmdMacro8" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
E como podemos escrever essas customizações num documento OpenXML? Para o próximo Visual Studio 2008 "Orcas" , a criação de customizações Ribbons será integrada ao ambiente de desenvolvimento através do Ribbon Visual Designer. Veja alguns comentários no blog de Kathleen McGrath, no link:
https://blogs.msdn.com/kathleen/archive/2007/05/09/vsto-my-favorite-feature-ribbon-designer.aspx
Ou de forma manual, podemos utilizar um editor de Ribbons como o Custom UI Editor Tool. A ferramenta está disponível no site do OpenXMLDeveloper.org:
https://openxmldeveloper.org/articles/CustomUIeditor.aspx
E para quem deseja adicionar o comportamento de Ribbons em suas aplicações WinForms, uma outra dica é a Elegant Ribbon. Vale conferir:
https://www.prof-uis.com/elegant-ribbon-control.aspx
Num próximo post ou WebCast, vamos falar mais sobre as novas funcionalidades do Visual Studio 2008 "Orcas", que facilitam a construção e customização de interfaces no Office System. Fiquem ligados.
Por enquanto é só. Até o próximo post! :)
Waldemir.