Pular para o conteúdo principal

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

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

Postar um comentário