Pesquisa

Carregando...

Postagem em destaque

Agora Você pode Ajudar o Blog "Software Livre Brasília-DF"

sexta-feira, 27 de fevereiro de 2015

Usando Macro de Controles de Formulário no LibreOffice

Este tutorial foi retirado do site Debugpoint, não mudei nada nenhuma linha de comando, apenas traduzir a explicação do tutorial e espero que ajudem a todos.

Este tutorial vai usar os controles de formulário, como botão dentro LibreOffice Calc planilha e atribuir uma macro que será acionado quando o botão é clicado. Este é um tutorial simples que descreve o básico, você pode estendê-lo para suas outras necessidade.

 Adicionando um botão no Calc  

Para abrir os controles de formulário, vá em Exibir -> Barras de Ferramentas -> Controles de formulário. O controle de formulário é composto por vários controles comuns, um botão de alternância de modo de design etc. 

LO_Form_Controls_1 

Agora vamos adicionar um botão para a planilha Calc usando o controle de botão. 

LO_Form_Controls_2 

Antes de atribuir qualquer macro ou seja, quando o botão é clicado para fazer alguma coisa, vamos escrever um programa simples na base, que será executada quando o botão é pressionado. Para mais detalhes sobre como criar uma macro, clique aqui para um tutorial detalhado. 

Programa que será acionado quando o botão é clicado 

Sub hello_world

    dim my_doc   as object
    Dim my_sheets as object
    Dim my_cell as object

    my_doc = ThisComponent
    my_sheets = my_doc.Sheets

    my_cell = ThisComponent.Sheets(0).getCellByPosition(2,2)

    my_cell.String = "A string populated by a button!"

    Msgbox "~~~ Welcome ~~~" & chr(13) & "LibreOffice Form Controls Demo",,"DebugPoint.com"

End Sub 


Uma vez que o programa está pronto, volte para a planilha Calc e selecione o botão. Clique no botão "Controls" na barra de ferramentas controles de formulário (Veja imagem acima - o botão mencionado como Propriedades) ou você pode clicar no botão direito e clique em controles no menu de contexto. 

A janela de propriedades será aberta para o botão. 

LO_Form_Controls_3 

Atribuir uma macro para o botão de clique 

Clique no pequeno botão besire label 'Executar ação ". Uma nova janela "Atribuir Ação 'abriria. Escolha o mesmo 'Executar Ação' e clique no botão 'Macro' para selecionar uma macro. 

LO_Form_Controls_4

Agora, escolha a sua macro desejado para ser executado (para este tutorial, que é hello world’) e clique em ok. 

 LO_Form_Controls_5 


Ao selecionar a macro, você escolheu macro aparece na janela do ''Ação Assign". Clique em OK para retornar à planilha. 

LO_Form_Controls_6 

Executando a Macro 

Agora é hora de correr, mas antes que desligar o modo de projeto clicando no botão "Modo de Design On / Off '' no Formulário de barra de ferramentas controles. Uma vez feito isso, clique no botão e ver o resultado.

LO_Form_Controls_7 

Desta forma, você pode atribuir rapidamente aos controles macros e automatizar várias tarefas no LibreOffice. 

Fonte: DebugPoint

11 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderExcluir
  2. Boa noite Henderson! Estou com uma planilha criada no Excel, que contem uma macro de busca. Acontece, que onde trabalho, é usado o LibreOffice. Ai a macro não funciona. Será que você poderia me dar uma força? Ou de editar a macro, ou até mesmo criar a planilha da mesma maneira, porém no libreoffice. Já fiz várias pesquisas no Google, porém sem sucesso.

    Desde já, muito obrigado!

    ResponderExcluir
    Respostas
    1. Boa Noite
      Você ja tento abri-la na nova versão do LibreOffice, a versão 5.0.
      Teve varias melhorias, possivelmente ela abra sem problemas.

      Excluir
    2. Boa Noite!

      Saiu hoje a revista do LibreOffice Magazine com uma matéria sobre "Macros" creio que possa ajuda-lo, baixe pelo link:
      http://blog.pt-br.libreoffice.org/2015/11/03/libreoffice-magazine-19-e-lancada/

      Excluir
  3. Excelente trabalho. Obrigado pelas explicações.

    ResponderExcluir
  4. Excelente trabalho. Obrigado pelas explicações.

    ResponderExcluir
    Respostas
    1. De nada, eu que agradeço e que bom que pude ajudar.

      Excluir
  5. Olá tenho o seguinte problema com macros no libreoffice.

    Se eu mandar executar uma macro (que copia o conteúdo de uma range de celulas para outra) pelo menu do libreoffice ela executa normalmente.

    Mas se eu associo a um controle de texto, associado a um evento de mudança de texto, a macro não executa.

    O que pode estar faltando?

    ResponderExcluir
    Respostas
    1. Recomendo que mande essa sua dúvida na lista da comunidade brasilieira do LibreOffice que eles sempre ajudam.
      usuarios@pt-br.libreoffice.org

      Excluir