Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

OpenOffice.Org Calc Basic - Criando funções em suas planilhas

Drausio Henrique Chiarotti (drausio.henrique@gmail.com) escreveu: "Aprofundando um pouco mais no Basic, editor de macros contido dentro do programa Calc, que faz parte do pacote OpenOffice. Este artigo ensina a utilizar as macros, em um nivel intermediário. O Open Office Calc fornece um meio para você criar macros, as quais podem ser utilizadas para facilitar o seu dia a dia. Com o intuito de agilizar o meu dia, ganhando tempo, vou apresentar neste artigo, a lógica de programação do Basic. Mostrarei vários exemplos (funções e procedimentos), os quais ao serem utilizados em uma mesma macro, podem transformar sua planilha em um eficiente programa. A versão utilizada neste artigo é BrOffice.Org 2.0.1

Veja abaixo a continuação do texto.



Antes de começar, abra o Calc e salve o arquivo, dando o nome desejado. Salvei com o nome de "artigoDrausioHChiarotti.ods".l

Acessando o edito de macros:
Clique em: Ferramentas – Macros – Organizar Macros – BrOffice.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.

Observe que quando você cria uma macro, ela vem com um procedimento (Sub) chamado Main.

No decorrer deste artigo, conforme as funções forem sendo criadas, o nome delas serão exibidos na caixa que está exibindo o procedimento Main.

Para aquecer, vamos exibir uma caixa de inserção de dados, em seguida uma caixa de mensagem, e para finalizar, os dados digitados serão inseridos na planilha.

Abaixo do "End Sub", do "Sub Main", vamos criar uma nova função e inserir o código, conforme abaixo:

Function BemVindo() As String
Dim strInfo As String 'variavel do tipo string

strInfo = InputBox("Digite seu nome") 'Caixa de entrada

msgbox strInfo 'Caixa de mensagem

BemVindo = strInfo 'Retorno da função
End Function

Clique em: Arquivo - Salvar

Va até sua planilha, clique em: Arquivo - Salvar

E então execute a função:

Digite em alguma célula: "=BemVindo(" e pressione enter (não feche o parêntese).

Obs.: O intuito deste artigo é mostrar como funciona a lógica, mostrando simples exemplos (asas) para que você, através destes exemplos, consiga construir suas próprias ferramentas (voar).

Volte para o editor:
Acessando o editor de macros: Clique em: Ferramentas – Macros – Organizar Macros – OpenOffice.org Basic ...

Observe que agora serão exibidas a função Main e a função BemVindo.

Logo abaixo de "End Sub" da função BemVindo, vamos criar uma nova função chamada Lacos. Nesta função vamos fazer uma macro para ilustrar os laços If e While.

- Vamos digitar o numero inicial e final.
A macro vai verificar se o numero inicial é menor que o final, utilizando o "if", se for, avisa o usuário e termina a macro. Se estiver correto, o numero inicial será incrementado (exibido) até chegar no numero final.

Obs.: Na hora de testar a macro, coloque números pequenos ex.: Inicial = 1 e Final = 10 (senão você vai cansar de apertar o Enter).

Insira a função a seguir:

'Função para ilustrar os Laços If e While
Function Lacos() As String
Dim intNumInicial, intNumFinal, intContador As Integer

intNumInicial = Val(InputBox("Digite o numero inicial"))
intNumFinal = Val(InputBox("Digite o numero inicial"))

if intNumInicial > intNumFinal then
print "O Numero Inicial deve ser Menor que o Final"
Lacos = "Erro"
exit function 'Encerra a macro
endif

'O while vai do numero Inial até o final, imprimindo os numeros
While intNumInicial <= intNumFinal
msgbox intNumInicial 'Imprime o numero
intNumInicial = intNumInicial + 1
Wend 'Fim do While

Lacos = "Funcao executada corretamente"

End function


Obs.: Note a utilização da função Val() que converte o texto em numero.

Agora Salve, feche o editor, vá até sua planilha e execute a macro "=Lacos(" pressione Enter.



A seguir estão descritas algumas funções que você pode utilizar em seus códigos:

Funções Numéricas

- Cos : Calcula o coseno
- Sin : Calcula o seno
- Tan : Calcula a tangente
- Atn : Calcula a arctangente de um valor numérico
- Exp : Calcula o exponencial (e = 2.718282)
- Log : Calcula o log
- Sqr : Calcula a raiz quadrada
- Abs : Calcula o valor absoluto
- Sgn : Retorna -1 se se o valor passado for negativo, 1 se for positivo e 0 se for zero


Funções de String

- Asc : retorna o valor Unicode.
- Chr : Retorna uma String que contem o caráter que é especificado pelo ASCII. Ex.: Chr(13) = Enter.
- Str : Converte uma expressão numérica em uma String
- Val : Converte uma String em um valor
- LCase : Converte em minúscula
- UCase : Converte em maiúscula
- Left : Retorna caracteres da esquerda
- Mid : Retorna caracteres de uma determinada posição
- Right : Retorna caracteres da direita
- Trim : Remove o lixo (espaço em branco sobrando) de uma string


No exemplo a seguir:

1º - Vamos criar uma função que chama um procedimento.
2º - Vamos utilizar algumas funções de string para entender o funcionamento.

Vá até o editor do Basic.

Crie o função Palavra e o procedimento Recortando, conforme a seguir:

Function Palavra() As String
Recortando(InputBox("Digite uma palavra grande"))
Palavra = "Ok"
End Function

'Este é um procedimento privadoa, ele só pode ser usado aqui no Módulo
'O procedimento não retorna nada
Private Sub Recortando(strNome As String)
Dim strMsg As String

strMsg = "3 Letras da esquerda: " + Left(strNome, 3)
strMsg = strMsg + Chr(13) + "3 Letras da direita: " + Right(strNome, 3)
strMsg = strMsg + Chr(13) + "3 Letras do meio: " + Mid(strNome, 4, 3) 'Começa na 4 letra e pega + 3

msgbox strMsg 'Exibe a mensagem
End Sub


Agora vá até sua planilha e execute a macro: " =Palavra(" pressione Enter.

Observe que você chama a função Palavra. A função "Palavra" chama o Procedimento (Sub) “Recortando”, e passa como parâmetro a palavra digitada por você. O procedimento “Recortando” utiliza algumas funções do Basic para extrair partes da String.

Neste artigo engatinhamos um pouco sobre o Basic

Com estes exemplos, você pode montar cálculos, rotinas, exibir mensagem, etc.

Dê asas ao seu conhecimento e faça do Basic uma poderosa ferramenta.

Abraços

Drausio Henrique Chiarotti
Bebedouro/SP
E-mail : drausio.henrique@gmail.com


BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004