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: 64.805 ]

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 - Caminhando sobre as células

O que são Generators no Firebird

Configurar Speedy Home na distribuição SuSE 10

OpenOffice.Org Calc Basic - Conhecendo o editor

Leitura recomendada

Configurando a operadora Vono no Asterisk

Comunidade, Código e Colaboração - O Projeto OpenOffice.org

Trabalhando com mala direta no OpenOffice

Scim e OpenOffice.org

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

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts