OpenOffice.Org Calc Basic - Funções intermediárias

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 nível intermediário.

[ Hits: 66.386 ]

Por: Drausio Henrique Chiarotti em 28/06/2006 | Blog: http://lattes.cnpq.br/0543258204520217


Funções utilizando laços (If e While)



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).

Repita os passos da página 2, para voltar no 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 número inicial e final.

A macro vai verificar se o número inicial é menor que o final, utilizando o "if", se for, avisa o usuário e termina a macro. Se estiver correto, o número inicial será incrementado (exibido) até chegar no número 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 número inicial"))
   intNumFinal   = Val(InputBox("Digite o número inicial"))  

   if intNumInicial > intNumFinal then
      print "O Número Inicial deve ser Menor que o Final"  
      Lacos = "Erro"
      exit function 'Encerra a macro
   endif
  
   'O while vai do número Inicial até o final, imprimindo os números
   While intNumInicial <= intNumFinal
      msgbox intNumInicial 'Imprime o número
      intNumInicial = intNumInicial + 1
   Wend 'Fim do While

   Lacos = "Função executada corretamente"

End function


OBS: Note a utilização da função Val() que converte o texto em número.

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

Página anterior     Próxima página

Páginas do artigo
   1. Informações gerais
   2. Criando um módulo
   3. Funções de caixa de mensagem
   4. Funções utilizando laços (If e While)
   5. Funções numéricas e de strings
   6. Utilizando funções de String
   7. Concluindo
Outros artigos deste autor

OpenOffice.Org Calc Basic - Conhecendo o editor

OpenOffice.Org Calc Basic - Caminhando sobre as células

O que são Generators no Firebird

Configurar Speedy Home na distribuição SuSE 10

Leitura recomendada

LibreOffice como ferramenta padrão de documentos eletrônicos

Dominando o BrOffice.org: Pincel de Estilo, Sumários e Objetos OLE no Writer

Configurando a operadora Vono no Asterisk

Como usar o dicionário do BrOffice.org em aplicativos GTK+/GNOME

Scim e OpenOffice.org

  
Comentários
[1] Comentário enviado por graco em 29/06/2006 - 11:22h

Muito bom! Gostei do artigo. um artigo que abre possibilidades. Já imagino criar meus proprios assistentes.....

[2] Comentário enviado por mochileiro em 29/06/2006 - 11:32h

Quero ver o povo daqui reclamar agora. Vão ter q estudar mesmo! material veio na hora certa!

[3] Comentário enviado por rgmmelo em 29/06/2006 - 13:55h

legal o seu artigo....a uns meses tive que instalar o office da MS pois tinha que fazer um trabalho da faculdade em VB pois nao conseguia um comando para imprimir nas celulas que certos valores do meu programa, já que o Cells(x,y)= nao funcionou em casa....
eh sempre bom ver estes tipos de artigos, eu mesmo tava pensando em escrever um.......

[4] Comentário enviado por Maycon Pires em 01/07/2006 - 11:40h

SHOW!!! Muito completo o artigo explica de uma forma bem linear, magine os proximos como virão show continue postando os artigos que são nota 10! vlw

[5] Comentário enviado por allanhc em 04/07/2006 - 00:13h

Excelente o artigo.
Sempre quis aprender a usar as macros mas nunca tive paciencia.

Só corrigir um errinho bobo.
Na função Lacos()

intNumFinal = Val(InputBox("Digite o número inicial"))

deveria ser:

intNumFinal = Val(InputBox("Digite o número final"))

Parabens

[6] Comentário enviado por seyfer em 19/01/2007 - 13:33h

Maloko, fiquei loko neste artigo...
To ficando viciado... manda mais buhahahahaha
Bom artigo este, parabéns
Falows.


Contribuir com comentário