domingo, 12 de fevereiro de 2012

Criar uma Ribbon para o Microsoft Excel

Querem personalizar o Microsoft Excel? A melhor maneira é fazer as nossas próprias ribbons, com os botões para os comandos e macros que mais usamos.
Então como fazer uma ribbon? Basta seguir os passos seguintes. São muitos mas é simples e rápido.

1 – Abrir o Microsoft Excel (2007 ou 2010);
2 – Guarde um documento em branco com extensão .xlam, por exemplo: “AminhaRibbon.xlam” (Excel Add-in);
3 – Feche o Excel e mude a extensão do ficheiro para “AminhaRibbon.xlam.zip”;
4 – Abra o ficheiro .zip criado como um ficheiro zip normal;
5 – Crie uma nova pasta, por exemplo no seu desktop, com o nome “CustomUI”;
6 – Abra o Notepad, cole o código seguinte e grave o ficheiro como “CustomUI.xml”;


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="R1" label="A minha Ribbon" insertAfterMso="Developer">
<group id="G1r1" label="O meu grupo">
    <button id="b1g1r1" label="O meu botao" size="large" onAction="macro1" screentip="  titulo do botao" supertip="descricao do botao." imageMso="ReviewAcceptChange"/>
<button idMso="Spelling"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>


7 – Mova este ficheiro para a pasta CustomUI que criou no passo 5. De seguinda mova a pasta para o interior do ficheiro “AminhaRibbon.xlam.zip”;
8 – Abra a pasta “_rels” localizada no ficheiro “AminhaRibbon.xlam.zip”. Copie o ficheiro “.rels” para o seu desktop. Abra o ficheiro. O código deverá ser semelhante a este:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/> 
<Relationship Id="rid4" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>
</Relationships>
<Relationship Target="customUI/customUI.xml" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Id="R1ecf01927e5242c3"/>

9 – Adicione o texto assinalado a azul a esse ficheiro “.rels”. Tenha o cuidado de o instalar imediatamente antes de </Relationships>. Se o “rid4” já estiver a ser usado, escolha um número que esteja livre. Em alternativa pode copiar todo o código aqui apresentado e susbtituir totalmente o código que está no ficheiro.

10 – Apague o ficheiro “.rels” que está localizado no interior do “AminhaRibbon.xlam.zip”. Agora mova o novo ficheiro “.rels” para o local do anterior que acabou de apagar.

11 – Agora basta renomear o ficheiro .zip de volta para “AminhaRibbon.xlam”. abra o ficheiro e vai verificar que já tem a ribbon criada.


Criada a ribbon está feita a parte mais complicada. Agora é uma questão de personalizar a nosso gosto. Vejamos novamente o código do ponto 6:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="R1" label="A minha Ribbon" insertAfterMso="Developer">
<group id="G1r1" label="O meu grupo">
   <button id="b1g1r1" label="O meu botao" size="large" onAction="macro1" screentip="  titulo do botao" supertip="descricao do botao." imageMso="ReviewAcceptChange"/>
<button idMso="Spelling"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>

Este código é na realidade extremamente simples. As principais partes são estas:

tab id="..." – Identificação do separador. Não pode haver 2 com o mesmo ID.
group id="..." – Identificação do grupo. Não pode haver 2 com o mesmo ID.
tab id="..." – Identificação do botão. Não pode haver 2 com o mesmo ID.
onAction="..." – Nome da macro que é aberta.
imageMso="..." – Nome da imagem a aparecer no botão. Para consultar as imagens disponíveis e respectivos nomes podem fazer download deste ficheiro: Office2007IconsGallery 
<tabs> ... </tabs> todas as alteração são efectuadas entre estes dois marcadores
<tab ...> ... </tab> início e fim de cada separador. Tem de ficar obrigatoriamente entre <tabs> e </tabs>
<group ...> ... </group> início e fim de cada grupo. Tem de ficar obrigatoriamente entre cada <tab ...> e </tab>
<buton ...> ... </button> início e fim de cada botão. Tem de ficar obrigatoriamente entre cada <group ...> e </group> 
<button idMso="..."/> Este código refere-se a botões já existentes. Como o botão já está incluído no Excel, basta dizermos o nome do botão que pretendemos. Para consultar todos os botões que podem disponíveis podem fazer download do ficheiro ExcelControls.xlsx.

Tendo em conta estas regras agora é uma questão de experimentar. Faça pequenas alterações de cada vez. Assim se surgir um erro é fácil detectar onde o cometeu.

terça-feira, 7 de fevereiro de 2012

a esquerda piegas

"Devemos persistir, ser exigentes, não sermos piegas e ter pena dos alunos, coitadinhos, que sofrem tanto para aprender"

Tanta trovoada por uma declaração tão simples e acertada.
Se a esquerda de Portugal vê algo de errado nesta declaração só está a dar razão ao Pedro Passos Coelho.
Temos uma esquerda demasiado piegas!