Pular para o conteúdo principal

Escrevendo uma Macro no LibreOffice Calc - Introdução

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.

O LibreOfice fornece uma maneira de escrever a sua própria macro para automatizar várias tarefas repetitivas em seu aplicativo de escritório. Você pode usar Python ou Basic para o desenvolvimento do macro. Este tutorial se concentra em escrever um macro básico 'Olá Mundo' usando básico do LibreOffice Calc. 

Macro Objetivo 

Nós iremos criar uma macro que iria colocar a string 'Olá Mundo' na primeira célula do LibreOffice Calc ou seja, a célula da linha 1 e col A.

Criando o Macro 
  • Abra o LibreOffice Calc em Aplicativos => Office/Escritório => LibreOffice Calc. 
  • Ou pesquise "calc" na barra de pesquisa
http://i2.wp.com/www.debugpoint.com/blog/wp-content/uploads/2014/09/LibreOffice_1.png

  • Vá para a opção no menu: Ferramentas ==> Macros ==> Organizar Macros ==> LibreOffice Basic. Abaixo da janela 'LibreOffice macros básicos "será aberta.
LibreOffice_2


  • Dê o nome desejado na macro nome caixa e clique em Novo. Você pode usar qualquer nome que você quiser. Para este tutorial usaremos o hello_world.
LibreOffice_3


  • Depois de ter clicado no botão Novo, abaixo macro editor será aberto. Aqui estão algumas coisas a serem observadas nesta janela. Este é o lugar onde você deve escrever o seu código, a depuração do código etc. Você pode ver o nome da macro tornou-se o nome da função de sua macro básico.
LibreOffice_4

  • Agora, é hora de codificar a primeira macro. Vamos declarar duas variáveis de objetos do tipo.
dim document as object (documento dim como objeto)
dim dispatcher as object (despachante dim como objeto)
Permite atribuir dois valores para as variáveis acima.

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

ThisComponent refere-se ao documento atual. No LibreOffice, tudo que você faz, por exemplo, tipo, cor, inserir, é "observados" por um controlador. O controlador então despacha as alterações no quadro do documento ou seja, a principal área da janela do Calc. Assim, a variável de documento refere-se à área principal do Calc. 

createUnoService cria uma instância do serviço DispatchHelper. Este serviço vai nos ajudar a despachar as tarefas de macro para a armação. Quase todas as tarefas macro do LibreOffice podem ser executados usando despachante. 

dim args1(0) as new com.sun.star.beans.PropertyValue
dim args2(0) as new com.sun.star.beans.PropertyValue
Our objective is to put 'Hello World' in the first Cell. To point the first cell A1 and put a text, we would use two properties - 'ToPoint' and 'StringName'. 
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
 
args2(0).Name = "StringName"
args2(0).Value = "Hello World!"
Assim que definir as propriedades, é hora de chamar a expedição, para enviá-los para o documento. Então ligue para o evento executeDispatch do despachante usando dois comandos - a) ".uno: GoToCell" b) ".uno: EnterString". Estes comandos diz a moldura que precisa ser executado e também passar toda a matriz de propriedade com valores.
Agora coloque um messagebox para notificar quando a execução for concluída.
 
LibreOffice_5 
 
 Execute o Macro 

É hora de executar a macro. Para executar a macro, pressione F5 ou clique em Executar Macro da barra de ferramentas (veja acima). 

Após a execução, o messagebox iria aparecer. Se você voltar e verificar a planilha Calc, você deve ver "Hello Word! 'É escrito na primeira Celula. 

LibreOffice_6 

LibreOffice_7 

Código Completo:

REM  *****  BASIC  *****
sub hello_world

    dim document   as object
    dim dispatcher as object

    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    dim args1(0) as new com.sun.star.beans.PropertyValue
    dim args2(0) as new com.sun.star.beans.PropertyValue

    args1(0).Name = "ToPoint"
    args1(0).Value = "$A$1"
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

    args2(0).Name = "StringName"
    args2(0).Value = "Hello World!"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())

   msgbox "Completed!"
end sub
 


Nota: Esta macro é aplicável para o OpenOffice também.
 
Fonte: DebugPoint

Comentários

  1. Gostei mas pena que as imagens sumiu, parabéns ...

    ResponderExcluir
    Respostas
    1. Obrigado Edson, creio que o google deve ter retirado, no site de onde retirei as imagens podem ser vistas, so clicar no final da postagem na Fonte.

      Excluir
  2. Caramba, tudo isso de código só pra colocar "Hellow word" na primeira célula?, vba é bem mais simples.

    ResponderExcluir
  3. Veja este manual muito bom de Mauricio Baesa, https://github.com/UniversoLibreMexicoAC/book-macros-basic/blob/master/bin/AprendiendoOOoBasic.odt?raw=true

    ResponderExcluir
    Respostas
    1. Obrigado, muito bom mesmo, era o que eu precisava.

      Excluir
    2. Estou reunindo mais material sobre o Basic.
      www.schiavinatto.com/mundolibre/biblioteca-basic.html

      Excluir
    3. Muito bom saber, ja penso em ser um dos colaboradores da comunidade LibreOffice Brasil

      Excluir
    4. Meu Amigo Muitíssimo obrigado pelo material, como sabemos material para OOoBasic é praticamente inexistente, porém extremamente necessário. Faz tempo que estou tentando largar o Microsoft Office, mas infelizmente com os tutoriais disponíveis para o LibreOffice vai demorar um pouco ainda.

      Excluir
    5. Mais links para documentação BASIC: https://ask.libreoffice.org/pt-br/question/188812/documentacao-para-macros-basic-calc-referencia/

      Excluir
  4. Obrigado. Muito interessante. Quase não temos artigos sobre o assunto.

    ResponderExcluir
  5. Tem alguma documentação em português sobre o Basic

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Instale o Telegram Desktop 0.8

Telegram Desktop é um software livre cliente multi-plataforma para o GNU\ Linux, Windows e Mac OS. O cliente tem suporte para notificações , enviar mensagens e arquivos de mídia e inserção de emoji . Enquanto o cliente Telegram desktop ainda está em desenvolvimento , que permite aos usuários enviar e receber mensagens a partir do desktop Linux, tem um recurso para sincronização em todas as plataformas com suporte , para que você possa ler as suas notificações móveis , tanto do computador e telefone , sem faltar nada. Além disso, tem o apoio de transferência de arquivos e os usuários podem criar grupos de até 200 pessoas e enviar mensagens .   A última versão disponível é Telegram do Desktop 0.8 , que foi lançado recentemente, vindo com mudanças, algumas são:   Adicionado comentário mensagens antes de encaminhadas;   Hashtags sugestões em novos campos de mensagens e de busca (com base em pesquisas recentes); Bot...

Como Instalar a Fonte ttf-mscorefonts (Times New Roman, Arial, etc) no Ubuntu, Linux Mint e Derivados

Quando instalamos uma distribuição GNU/Linuxmsabemos que vem o LibreOffice por padrão porém geralmente não vem instalado a fonte ttf-mscorefonts que contém as fontes Times New Roman, Arial, etc, como essas fontes são muito útil para os universitários, pelo mundo corporativo e a Associação Brasileira de Normas Técnicas (ABNT), exige que os trabalhos sejam entregues nas fontes Times New Roman e Arial, por meio desta postagem espero pode ajudar a todos com a instalação da fonte ttf-mscorefonts que contém essas fontes. Ao instalar o GNU/Linux abra o terminal e execute o comando: $ sudo apt-get install ttf-mscorefonts-installer Leia os termos de uso e avance clicando em “Ok” Agora aceite os termos de uso clicando em “Sim” Pronto agora abra o LibreOffice e veja se as fontes Times New Roman, Arial estão instaladas. Caso ocorra algum erro ou precisa reinstalar, execute: $ sudo apt-get install --reinstall ttf-mscorefonts-installer

Como Instalar a Fonte ttf-mscorefonts (Times New Roman, Arial, etc) no Ubuntu, Linux Mint e Derivados

Quando instalamos uma distribuição GNU/Linuxmsabemos que vem o LibreOffice por padrão porém geralmente não vem instalado a fonte ttf-mscorefonts que contém as fontes Times New Roman, Arial, etc, como essas fontes são muito útil para os universitários, pelo mundo corporativo e a Associação Brasileira de Normas Técnicas (ABNT), exige que os trabalhos sejam entregues nas fontes Times New Roman e Arial, por meio desta postagem espero pode ajudar a todos com a instalação da fonte ttf-mscorefonts que contém essas fontes. Ao instalar o GNU/Linux abra o terminal e execute o comando: $ sudo apt-get install ttf-mscorefonts-installer Leia os termos de uso e avance clicando em “Ok” Agora aceite os termos de uso clicando em “Sim” Pronto agora abra o LibreOffice e veja se as fontes Times New Roman, Arial estão instaladas. Caso ocorra algum erro ou precisa reinstalar, execute: $ sudo apt-get install --reinstall ttf-mscorefonts-installer

Aprenda a apagar as linhas vazias no LibreOffice Calc

Estes dias eu precisei realizar uma tarefe um tanto quanto inusitada: apagar as linhas vazias de uma planilha do LibreOffice Calc. E após ter pesquisado muito na internet (além de ter tendado de todas as formas fazer isso), acabei achando a  solução nesta lista de discussão . Basicamente, este procedimento é possível através da implementação de Macros no LibreOffice.  Mas o que são Macros? Os Macros são definidos na programação como um padrão de entrada que é substituído por um novo padrão de saída, e podem ser aplicados como recurso de linguagem em programação, em planilhas, serem aplicadas para converter entradas periféricas em comandos e ações dentro do sistema operacional. Em outras palavras, os Macros são códigos que tem a finalidade de “pegar algo” afim de “transformar em outro algo”. Abaixo iremos detalhar em um passo-a-passo o procedimento para implementação de uma Macro no Calc que irá permitir-nos apagar linhas vazia dentro das nossas planilhas. Vamos l...

Como Instalar o Gophish (Um Guia para Entender o Conceito de Phishing e Como se Proteger Dele)

  O que é Gophish? Gophish é uma ferramenta de código aberto que permite aos usuários realizar campanhas de engenharia social para coletar credenciais de autenticação e outros dados confidenciais (phishing). Esta ferramenta foi projetada para ser usada por pesquisadores de segurança para melhorar a segurança da rede. Gophish foi criado em 2016 por Jordan Wright, um pesquisador de segurança baseado em San Francisco, EUA. Sendo também uma das melhores ferramentas do mercado para realizar testes de segurança contra phishing, caso seja utilizado de forma fraudulenta.   Como Gophish funciona? O Gophish é executado em um servidor, o que significa que você precisa ter acesso a um servidor para usar a ferramenta. Depois de configurada, a ferramenta pode ser usada para criar simulações de phishing com diferentes tipos de conteúdo, como mensagens de e-mail, páginas da web e mensagens de texto. Esses exercícios de phishing são enviados aos destinatários pretendidos, que são os usuár...

Comandos Úteis para o Linux Mint, Ubuntu e Derivados

Alguns dias sugeriram que eu postasse alguns comandos uteis  utilizados no Linux Mint e para o Ubuntu, mas com tantas distros baseadas no Ubuntu esses comandos também podem ser utilizados nas distros como: Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04 , Linux Mint 17.2, Linux Mint 17.1, Linux Mint 17, Pinguy OS 14.04, Elementary OS 0.3, Deepin 2014, Peppermint Five, LXLE 14.04 and Linux Lite 2 2 , DuZeru, Kaiana e derivados . Segue alguns comandos importantes para manutenção do sistema, principalmente para usuários iniciantes... 1- Atualizar a lista de pacotes:  $ sudo apt-get update 2- Atualizar toda a distro:  $ sudo apt-get -f dist-upgrade ou update-manager -d -c 3- Instalar pacotes:  $ sudo apt-get install [nome do pacote] 4- Procurar arquivos corrompidos:  $ sudo apt-get check 5- Corrigir problemas de dependências, concluir instalação de pacotes pendentes e outros erros: $ sudo apt-get -f install 6- Se o comando sudo apt-get -f install nã...

FLISOL-DF 2024 Inscrições Abertas!

FLISOL-DF 2024, será no dia 27 de abril no Centro Universitário Estácio de Brasília. As inscrições são gratuitas e podem ser feitas nos links abaixo: Participante: https://flisoldf.blog.br/inscreva-se/ Submissão de palestras: https://flisoldf.blog.br/submissao-de-palestras/ Colaborador: https://flisoldf.blog.br/quero-colaborar/   Mais informações podem ser vistas no site oficial do evento: https://flisoldf.blog.br/  

Como Instalar o SuperTuxKart 1.1

SuperTuxKart é um jogo de corrida disponível para Linux, Windows e Mac OS X. A versão mais recente disponível é SuperTuxKart 1.1 , que vem com uma lista enorme de recursos e algumas podem ser vistas abaixo: Melhor manipulação multiplayer online; Melhorias na interface do usuário; A nova arena “Pumpkin Park”; Melhor suporte móvel; A capacidade de exibir emojis e vários outros recursos; Em relação à rede e Internet, há suporte para IPv6, suporte de IA para servidores de rede local,; Vários problemas de atraso resolvidos e outras melhorias.   Para saber todas as mudanças clique aqui . Para instalar SuperTuxKart 1.1 no Ubuntu, Linux Mint , Elementary OS e derivados, execute:   $ sudo add-apt-repository ppa:stk/dev $ sudo apt-get update $ sudo apt-get install supertuxkart 

Linux Lite 6.4

O Linux Lite é uma distribuição Linux amigável para iniciantes, baseada no lançamento de suporte de longo prazo (LTS) do Ubuntu e apresentando o desktop Xfce. O projeto publicou uma atualização para sua série 6.x que melhora a compactação de pacotes para software personalizado, oferece uma nova ferramenta de relatório para diagnosticar problemas e atualiza o layout para o cliente de e-mail Thunderbird.   "Linux Lite 6.4 Final agora está disponível para download e instalação. Com base no lançamento do 6.2, adicionamos várias novas alterações. Alterações: Nossos aplicativos internos estão começando a ser reempacotados usando compactação ZSTD para velocidades de descompactação significativamente mais rápidas e taxas de compactação mais altas. Exemplo: Temas Lite - pacote compactado antigo: 91,2 MB; Temas Lite - novo pacote compactado: 76,8 MB. Isso beneficiará máquinas de uma faixa etária mais ampla. Ótimo para computadores mais lentos ao instalar atualizações, atualizações extrem...

Como Instalar o Kernel 5.13

F oi publicada a versão final do kernel 5.13 e algumas novidades desta versão são: Suporte inicial e inicial para Apple M1;   Novo módulo de segurança Linux "Landlock";   Suporte gráfico inicial para Alder Lake S. Suporte para AMD FreeSync HDMI;   Novo controlador de resfriamento Intel ; Suporte para Realtek RTL8156 e RTL8153D ; Novo suporte de controlador para controlador de jogo Luna da Amazon;   Suporte para touchpad e teclado para laptops Microsoft Surface recentes.   Para saber todas as novidades clique aqui .  Para instalar o Kernel 5.13 no Ubuntu, Linux Mint, Debian e sistemas derivados 64 Bits, execute: $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd64/linux-headers-5.13.0-051300_5.13.0-051300.202106272333_all.deb $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd64/linux-headers-5.13.0-051300-generic_5.13.0-051300.202106272333_amd64.deb $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd...