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!

terça-feira, 17 de janeiro de 2012

Quem cometeu o crime que pague!

Dizem as notícias de hoje que o Benfica vai pedir uma indemnização de cerca de 500.000 € ao Sporting.

Mas quem é provocou os danos? Não foi o Sporting! Foi um pequeno conjunto de adeptos. Então esses adeptos que paguem os danos. Tudo foi filmado e vários adeptos foram detidos. As autoridades só não sabem quem fez o quê se não quiserem.

Se o incêndio tivesse sido acidental eu dizia que o Benfica é que tinha de assumir os custos. Mas neste caso não! O incêndio foi intencional. Foi criado com o objectivo de provocar danos materiais.

Eles não têm dinheiro que chegue para todos os prejuízos? Então que dêem todo o que tem agora e durante os próximos 5 anos ficam obrigados a pagar uma percentagem do salário (ou rendimento) para abater á despesa.

Não só se fazia justiça mas servia de exemplo para que este tipo de vandalismo e violência acabe de vez.

Para registo: Sou adepto do Benfica.

segunda-feira, 16 de janeiro de 2012

Finalmente!

Vamos a ver ser a casa começa finalmente a ficar arrumada. Se a Maria de Lurdes Rodrigues e o João Pedroso forem condenados, pode ser que os que lá estão agora e os que ainda hão-de vir tenham medo de fazer o mesmo!
Pode ser o início do fim da impunidade dos políticos.

Sobe sobe, preço sobe

Digam o que quiserem da Galp e afins, mas para mim quem está por trás de todas estas subidas de preços dos combustíveis são o Irão, Venezuela & amigos.
O mundo está demasiado dependente do petróleo destes países. E todos estes jogos de guerrinhas e ameaças que eles provocam só servem para aumentar os seus lucros.

domingo, 16 de outubro de 2011

indignados

Os indignados que andam por aí a queixar-se de falta de representatividade deviam começar por votar nos dias de eleições em vez de irem para a praia.
E se realmente acham que representam a maioria das pessoas porque não criam um partido ou um movimento e concorrem às próximas eleições?

sexta-feira, 14 de outubro de 2011

42.5 horas semanais

Para todos os críticos e indignados com o aumento de meia hora de trabalho por dia, fica aqui a minha opinião sobre o assunto.
Esta medida fica ao critério de cada empresa. Se a empresa não tem necessidade, então mantém as horas de trabalho. Se por exemplo uma empresa que exporta sapatos necessitar de aumentar a produção, vai fazê-lo com menos custo porque vai ter mais 6% de mão-de-obra. A Isto chama-se aumento da competitividade face ao estrangeiro.
Esta medida vai levar a um prolongamento do desemprego, mas não requer um aumento da carga fiscal.
A alternativa (redução da TSU), levaria igualmente ao mesmo aumento da competitividade e ainda levaria ao aumento do emprego. No entanto com esta medida era necessário haver uma compensação fiscal, paga por todos os portugueses.
Qual das medidas é a mais acertada? Só o ministério das finanças tem os dados necessários para estudar qual a solução com menos impacto na vida dos portugueses.
Eu não tenho dados para dizer qual das duas soluções seria a melhor.
Por isso espero que a escolha tenha sido a mais acertada.