Pular para o conteúdo principal

Processamento de Formulário com LibreOffice Calc Macro - Parte 2

LibreOffice Macro TutorialsEste 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.

 Esta é a segunda parte da série de tutoriais de "Trabalhando com controles de formulários em LibreOffice / OpenOffice Calc '. Primeira parte pode ser encontrada aqui. Na primeira parte, uma caixa de texto simples e um botão é coberto. Este tutorial irá cobrir todos os outros controles básicos - Editora, Check Box, caixa de combinação caixa, caixa de lista - como acessar os valores desses controles e como reconhecer os valores selecionados de usuários sobre esses controles. 

Abra LibreOffice e criar um diálogo. Adicione um rótulo, três caixas de seleção, duas caixas de opção, uma caixa de lista, uma caixa de combinação e um botão. Todos estes controlos podem ser adicionados por meio de caixas de ferramentas (ver abaixo). Você pode acessar o caixa de ferramentas a partir do menu:

View --> Toolbars --> ToolBox (Exibir --> Barra de Ferramentas --> TooBox)

https://i0.wp.com/www.debugpoint.com/blog/wp-content/uploads/2015/05/Toolbox-in-LibreOffice.png
Toolbox do LibreOffice
Uma vez que você adicionou, selecionar e arrastar-los de acordo com sua necessidade dentro do formulário. Neste tutorial, vamos acessar os valores / opções selecionadas nesses controles e colocá-los em células do Calc. Lendo os valores é o mais básico como estes são necessários para as tarefas mais complexas.

O formulário concebido para este tutorial

Designed Form

Caixa de seleção 

As caixas de seleção são uma maneira do usuário fazer múltiplas escolhas. Para obter se a caixa de seleção está marcada ou não, pode-se utilizar o método getState. Se for verificado que retorna 1, caso contrário 0. Ao projetar, você pode mudar o texto exibido cada caixa de seleção ao lado usando campo 'Etiqueta' na guia Geral da janela de propriedades. 

chkBox1 = oDialog1.GetControl("CheckBox1")
    chkBox2 = oDialog1.GetControl("CheckBox2")
    chkBox3 = oDialog1.GetControl("CheckBox3")

    if chkBox1.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,1)
        oCell.String = "Debian"
    end if

    if chkBox2.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,2)
        oCell.String = "Ubuntu"
    end if

    if chkBox3.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,3)
        oCell.String = "elementary"
    end if 

Caixa de listagem e caixa de combinação

Caixa de listagem e caixa de combinação dando aos usuários a capacidade de selecionar a partir de uma lista de itens. A única diferença entre estes dois são do jeito que exibir os itens. Caixa de combinação tem uma lista suspensa e caixa de listagem tem uma lista de itens exibidos.

Para obter a seleção de uma lista, a função getSelectedItem () pode ser usado.

 Para obter o item selecionado na caixa de combinação, o SelectedText function () pode ser usado.

Para pré-preencher a lista e de combinação, vamos usar a função addItem (,)  ao carregar o formulário pela primeira vez. 

 lstBox1 = oDialog1.GetControl("ListBox1")
    if lstBox1.getItemCount = 0 then
        lstBox1.addItem("Mango",1)
        lstBox1.addItem("Apple",2)
        lstBox1.addItem("Orange",3)
    end if

    cmbBox1 = oDialog1.GetControl("ComboBox1")
    if cmbBox1.getItemCount = 0 then
        cmbBox1.addItem("500",1)
        cmbBox1.addItem("1000",2)
        cmbBox1.addItem("10000",3)
    end if

    oCell = ThisComponent.Sheets(0).getCellByPosition(1,5)
    oCell.String = lstBox1.getSelectedItem()               

    oCell = ThisComponent.Sheets(0).getCellByPosition(1,6)
    oCell.String = cmbBox1.SelectedText() 

Option Box (Caixa de Opção)

Caixa Opção são aqueles opções apresentadas ao utilizador e só um deles pode ser selecionado. Ao contrário de outras aplicações, em LO, todas as caixas de opção são agrupados por padrão que é adicionado na forma. 

O property State () (estado proprietário) de uma caixa de opção retorna True (Verdadeiro) é a opção for selecionada, caso contrário, retorna False (Falso).

if optBtn1.State = True then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,7)
        oCell.String = "No"
    end if

    if optBtn2.State = True then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,8)
        oCell.String = "Yes"
    end if 

Juntando tudo - Executando a macro

Uma vez que o design de formulário está completo, vamos mostrar os valores escolhidos pelo usuário na forma nas células do Calc.

Para executar o formulário, executar a função StartDialog1 (). Esta é a mesma função que temos usado em tutoriais anteriores e como pontapé de saída / atribuir esta função para evento de clique de um botão - leia aqui a primeira parte desta série de tutoriais.

Selecione algumas opções dos componentes na forma e clique no botão do LO Calc que já está aberto, você verá os valores escritos e colocar nas células do Calc.
 

Form with Values Selected
 
  Output
  
Função Referências - usado neste artigo 
Macro completo 

Para executar, copiar e colar todo este bloco de código a seguir no Editor de Macro no LibreOffice. 

Dim oDialog1 As Object

Sub StartDialog1()
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")

    lstBox1 = oDialog1.GetControl("ListBox1")
    if lstBox1.getItemCount = 0 then
        lstBox1.addItem("Mango",1)
        lstBox1.addItem("Apple",2)
        lstBox1.addItem("Orange",3)
    end if

    cmbBox1 = oDialog1.GetControl("ComboBox1")
    if cmbBox1.getItemCount = 0 then
        cmbBox1.addItem("500",1)
        cmbBox1.addItem("1000",2)
        cmbBox1.addItem("10000",3)
    end if

    oDialog1.Execute()

End Sub

Sub readDialog1()
    Dim oCell
    chkBox1 = oDialog1.GetControl("CheckBox1")
    chkBox2 = oDialog1.GetControl("CheckBox2")
    chkBox3 = oDialog1.GetControl("CheckBox3")

    optBtn1 = oDialog1.GetControl("OptionButton1")
    optBtn2 = oDialog1.GetControl("OptionButton2")

    lstBox1 = oDialog1.GetControl("ListBox1")

    cmbBox1 = oDialog1.GetControl("ComboBox1")

    if chkBox1.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,1)
        oCell.String = "Debian"
    end if

    if chkBox2.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,2)
        oCell.String = "Ubuntu"
    end if

    if chkBox3.State = 1 then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,3)
        oCell.String = "elementary"
    end if

    oCell = ThisComponent.Sheets(0).getCellByPosition(1,5)
    oCell.String = lstBox1.getSelectedItem()               

    oCell = ThisComponent.Sheets(0).getCellByPosition(1,6)
    oCell.String = cmbBox1.SelectedText()           

    if optBtn1.State = True then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,7)
        oCell.String = "No"
    end if

    if optBtn2.State = True then
        oCell = ThisComponent.Sheets(0).getCellByPosition(1,8)
        oCell.String = "Yes"
    end if

End Sub 


Fonte: Debugpoint 

Leia também os outros tutoriais sobre Macro clique nos títulos abaixo:

Comentários

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

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

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

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

Feliz 2013!!!

Gostaria de agradecer a todos que este ano acompanharam as matérias postadas e as mais de  7000 visitas ao blog , muito obrigado. Este ano tivemos grandes conquistas e inúmeras novidades como por exemplo o fim do MSN no início de 2013, a criação da União Livre e o desenvolvimento do Kaiana que será lançada em 2013, distro nacional , a descontinução do BigLinux do DreanLinux entre outr as distro, o lançamento do liv ro da S B P - Software Publico Brasileiro, os dois anos do LibreOffice, o prime iro Hackday do LibreOffice , o IX Latinoware, a Microsoft boicotando o Linux (como sempre), o lançamento do Windows 8 e a sua baixa taxa de adesão pelos usuários, entre out ros. Gostaria de desejar a todos Boas Festas e que em 2013 possamos estar juntos novamente. Feliz Natal!!!! F eli z 2013 a todos!!!

Como Instalar o Kodi 19.5 "Matrix"

Kodi (anteriormente denominado XBMC) é um famoso hub de mídia de código aberto e home theater PC, sendo traduzido em mais de 30 idiomas. Além disso, suas características podem ser altamente estendido através de plugins de terceiros e extensões e tem suporte para PVR (personal video recorder).   A versão final do Kodi 19.5 “Matrix” foi lançado, chegando com alterações que podem ser vistas clicando aqui . Para instalar no Ubuntu,  Linux Mint, Elementary OS e derivados, execute:   $ sudo add-apt-repository ppa:team-xbmc/ppa $ sudo apt-get update $ sudo apt-get install kodi     Use o comando a seguir para instalar codecs de áudio e outros complementos, executando:     $ sudo apt-get install --install-suggests kodi     Para remover, execute:   $ sudo apt-get remove kodi*

Certificado FLISOL-DF 2024 Liberado

Foi disponibilizado o link para baixar o certificado de Participante e de Palestrante do FLISOL-DF2024. Para baixar o seu clique no link: https://certified.flisol.app/ Para saber sobre os dados estatísticos do FLISOL 2024 clique no link: https://flisol.info/FLISOL2024/Brasil/Estatisticas