Se você ainda não teve um primeiro contato com o Basic do OpenOffice.Org Calc, aconselho, antes de começar a ler este artigo, que você leia os artigos abaixo: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4651 e http://br-linux.org/linux/ooo_calc_basic
- Criando um módulo
Antes de começar, abra o Calc e salve o arquivo, dando o nome desejado. Salvei com o nome de 'CriandoMacro.ods'.
Acessando o editor de macros: Clique em: Ferramentas Macros Organizar Macros OpenOffice.org Basic
Será exibida a janela: 'Macros do BrOffice.org Basic' Nesta janela, clique sobre o nome que você salvou seu arquivo, então, clique sobre o item Standard.
Com o item Standard selecionado, clique sobre o botão 'Novo'.
Será exibida uma janela para informar o nome do novo módulo, informe: 'ModuloBrLinux'.
Então, clique sobre o modulo (ModuloBrLinux) e pressione o botão Editar.
Neste caso, a Macro que criamos, estará vinculada ao seu OpenOffice Calc e poderá ser utilizada em qualquer documento. Caso você queira criar uma macro para utilizar apenas em um determinado documento:
Na janela: 'Macros do BrOffice.org Basic' clique sobre a planilha que você criou, Standard e insira um novo módulo clicando no botão Novo, conforme citado acima.
- Procedimento CaminharSobreCelulas
Primeiramente vamos criar um procedimento chamado CaminharSobreCelulas.
Este procedimento vai possuir três parâmetros.
1º - intColuna : recebe o numero da coluna
2º - intLinha : recebe o numero da linha
3º - Valor : recebe o valor que será adicionado na célula
Veja o procedimento a seguir:
Sub CaminharSobreCelulas(intColuna, intLinha as Integer, Valor)
Dim oMovPasta as Object
Dim oCelula as Object
Dim oPasta as Object
Dim oDocumento as Object
oDocumento = ThisComponent
oPasta = oDocumento.Sheets
oMovPasta = oPasta(0)
oCelula = oMovPasta.GetCellByPosition(intColuna, intLinha)
oCelula.Value = Valor End Sub
Sobre o procedimento:
oDocumento : recebe o documento em que a macro está sendo executada
oPasta : recebe as pastas do documento
oMovPasta : recebe a pasta na qual vamos nos locomover (oPasta(0) é primeira pasta)
oCelula : recebe a posição na célula que o valor será inserido
oCelula.Value : insere o valor na célula indicada (nos parâmetros)
- Procedimento Escrever
Agora vamos criar um novo procedimento, o qual vai chamar o procedimento CaminharSobreCelulas.
Veja o código abaixo:
Sub Escrever
Dim Numero as integer
For Numero = 0 to 10
CaminharSobreCelulas(0, Numero, Numero)
Next
End Sub
O procedimento Escrever, tem um laço que vai de 0 a 10 e ao incrementar, ele chama o procedimento CaminharSobreCelulas passando como parêmetro, a coluna 0 que equivale a 'A', a linha é o Numero do laço (FOR) e o valor que será inserido na célula, é Numero, ou seja, o numero da Linha que ele está.
- Executando seu procedimento
Agora vá até sua planilha e execute o procedimento: Ferramentas - Macros - Executar Macro
Será exibida a janela Seletor de macro: Selecione: Minhas macros - Standard - ModuloBrLinux - Escrever Clique em: Executar
- Conclusão
Com estes procedimentos você pode caminhar sobre as células inserindo valores nelas.
Se ao invés de inserir valores, você quiser ler o valor da célula:
Declare uma variável, ex.: Dim ValorCelula As Integer E no lugar de oCelula.Value = Valor coloque ValorCelula = oCelula.Value
Dê asas ao seu conhecimento e faça do Basic uma poderosa ferramenta.
Abraços
Drausio Henrique Chiarotti drausio.henrique@gmail.com Bebedouro/SP
'Aquele que se humilha será exaltado, mas aquele que se exalta será humilhado!'