Académique Documents
Professionnel Documents
Culture Documents
Captulo 12
Macros do Calc
Automatizando tarefas repetitivas
Direitos autorais
Este documento protegido por Copyright 2010 por seus contribuidores listados abaixo. Podese distribuir e/ou modificar este trabalho, tanto sob os termos da Licena Pblica Geral GNU
(http://www.gnu.org/licenses/gpl.html), verso 3 ou posterior, ou da Licena de Atribuio Creative
Commons (http://creativecommons.org/licenses/by/3.0/), verso 3.0 ou posterior.
Todas as marcas comerciais dentro desse guia pertencem aos seus respectivos donos.
Contribuidores
Andrew Pitonyak
Barbara Duprey
Hal Parker
Simon Brydon
Alipio da Silva Resende
Fbio Farias
Comentrios e contribuies
Por favor, direcione qualquer
documentation@libreoffice.org
comentrio
ou
sugesto
sobre
este
documento
para:
Crditos
Este captulo baseado no Captulo 1 do Guia do Calc 3.3 do OpenOffice.org. Os contribuidores
para este captulo so:
Andrew
Pitonyak Jean Hollis
Gary Schnabl
Claire Wood
Weber
Equivalente no Mac
Resultado
Ferramentas Opes
menu de seleo
LibreOffice Preferncias
Control+clique
Ctrl (Control)
(Command)
F5
Shift++F5
Abre o Navegador
F11
+T
Abre a janela
Formatao
de
Estilos
Contedo
Direitos autorais............................................................................................................................... 2
Nota para usurios de Mac.............................................................................................................. 2
Introduo........................................................................................................................................ 4
Utilizando o gravador de macro.......................................................................................................4
Escreva suas prprias funes........................................................................................................8
Usando uma macro como funo..............................................................................................10
Passando argumentos para uma macro....................................................................................13
Argumentos so passados como valor......................................................................................14
Escrevendo macros que agem como funes internas.............................................................14
Acessando as clulas diretamente.................................................................................................15
Classificando.................................................................................................................................. 16
Concluso...................................................................................................................................... 17
Macros do Calc
Introduo
Uma macro uma sequncia salva de comandos ou de teclas que foram armazenadas para uso
posterior. Um exemplo simples de uma macro uma que escreve seu endereo. A linguagem de
macro do LibreOffice muito flexvel, permitindo automatizao tanto de tarefas simples como
complexas. As macros so especialmente teis para repetir as tarefas seguindo o mesmo
caminho vrias vezes. Este captulo discute brevemente os problemas comuns relacionados a
programao de macros utilizando o Calc.
1 Minhas Macros
2 Macros do LibreOffice
3 Documentos abertos
7 Documento atual
8 Expandir/Ocultar lista
11) Clique OK para criar o novo mdulo com o nome Module1. Selecione o recm-criado
mdulo criado Module1, digite ColarMultiplicando na caixa Nome localizado no canto
superior esquerdo, e clique Salvar. (Ver Figura 6.)
".uno:InsertContents",
"",
0,
Mais detalhes sobre a gravao de macros apresentado no captulo 13, Introduo s Macros,
do Guia do iniciante; ns recomendamos que voc leia isto se ainda no tiver feito isso. Mais
detalhes tambm sero fornecidos nas sees seguintes, porm no relacionado com a gravao
de macros.
*****
Sub Main
End Sub
Function NumberFive()
NumberFive = 5
End Function
10
Dica
Salve o documento Calc, feche-o, e ento abra novamente. Dependendo de sua configurao em
Ferramentas Opes LibreOffice Segurana Segurana de macros, o Calc
mostrar o aviso da Figura 13 ou o aviso da Figura 14. Voc precisa clicar em Habilitar macros,
ou o Calc no permitir rodar nenhuma macro no documento. Se voc no espera que um
documento contenha macro, mais seguro que voc clique em Desabilitar macros caso a macro
seja um vrus.
Figura 13: Aviso de segurana do LibreOffice informando que este documento contm macros
11
12
13
End Function
A macro na Listagem 5 demonstra algumas tcnicas importantes:
1) O argumento x opcional. Quando um argumento no opcional e a funo chamada
sem ele, o LibreOffice mostra uma mensagem de aviso todas as vezes que a macro
chamada. Se o Calc chama a funo vrias vezes, ento a mensagem de erro ser
mostrada todas as vezes.
2) IsMissing verifica que um argumento foi passado antes do argumento ser utilizado.
3) IsArray verifica se o argumento passado na chamada da funo um valor simples ou
um conjunto de valores (array). Por exemplo =SomaPositivo(7) ou =SomaPositivo(A4).
No primeiro caso o nmero 7 passado como um argumento, no segundo caso, o valor da
clula A4 passado para a funo.
4) Se o intervalo for passado para a funo com um conjunto de dados bidimensional, por
exemplo, =SomaPositivo(A2:B5). Lbound e Ubound so utilizados para determinar os
limites inferior e superior do conjunto de dados (array) que est sendo utilizado. Embora o
limite inferior seja um, considerado mais seguro utilizar Lbound para o caso de ser
alterado no futuro.
Dica
Passar um argumento to fcil quanto passar dois: acrescente outro argumento para a definio
da funo (ver Listagem 6). Quando for chamar uma funo com dois argumentos, separe os
argumentos com um ponto e vrgula; por exemplo, =TestMax(3; -4).
Listagem 6: TestMax aceita dois argumentos e retorna o maior deles.
Function TestMax(x, y)
If x >= y Then
TestMax = x
Else
TestMax = y
End If
End Function
14
Dica
15
oRow() = oRows(iRow)
For iCol = LBound(oRow()) To UBound(oRow())
ASoma = ASoma + oRow(iCol)
Next
Next
Next
SomaCelulaTodasPlanilhas = ASoma
End Function
Quando uma macro chamada como uma funo, a macro no pode modificar
nenhum valor na planilha na qual a macro foi chamada.
Dica
Classificando
Considere a classificao dos dados da Figura 17. Primeiro, classifique a coluna B como
decrescente e depois a coluna A crescente
Classificando
16
Concluso
Este captulo fornece uma viso rpida de como criar bibliotecas e mdulos, utilizando o gravador
de macros, utilizando macros como funo do Calc, e escrevendo suas prprias macros sem o
uso do gravador de macros. Cada tpico merece pelo menos um captulo, e escrever suas
prprias macros para o Calc poderia facilmente encher um livro inteiro. Em outras palavras, o que
foi apresentado neste captulo apenas o comeo do que voc pode aprender!
Concluso
17