Pular para o conteúdo principal

Processing Faixa Usando Macro no LibreOffice Calc - Parte 1

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.

Em muitas tarefas de automação é preciso acessar planilha usando o intervalo para reduzir o tempo de processamento. Pode-se acessar cada células usando "linha, coluna" caminho que é caro em termos de tempo de processamento e complexidade. Assim, é algumas vezes preferida Gama no topo do processamento de célula individual.

Neste duas partes série tutorial vou falar sobre como processar "Range" no LibreOffice aplicativo de planilha (LO) Calc.

Parte 1 consiste em escrever em intervalos na planilha. 

Definir um intervalo

A gama é tipicamente definido usando "start_cell_address: stop_cell_address". No Calc todas as colunas são identificadas utilizando letras "A", "B", "C", .... e todas as linhas são números a partir de 1 e assim por diante.  

Assim, um intervalo típico - "A1: D5" refere-se todas as células a partir de (1,1) para (4,5). Veja abaixo:

A simple Range
A Faixa de simples
  

Criar um Macro:

Criar uma nova macro no LibreOffice Calc. Adicione uma função dizer rang_processing_demo () com linhas abaixo que proporcionem um porão da planilha antes de começarmos a gama de processamento.

Se você precisar de orientação sobre como criar uma macro básica - clique aqui.

Sub range_processing_demo
      dim my_doc   as object
      Dim my_sheets as object
      Dim my_range as object
      my_doc = ThisComponent
      my_sheets = my_doc.Sheets
End Sub

Vamos começar com uma única célula encher-se através de um alcance, em seguida, vá para o processamento gama mais complexa. 

Defina uma única célula usando faixa

Ranges pode ser definido com um setDataArray função (array). O argumento desta função é uma matriz 2D do mesmo tamanho do intervalo.

Se você escolher um intervalo "A1", que nada mais é que uma única célula, a matriz correcponsing deve ter apenas valor. Assim, definir uma matriz com um elemento e defina seu valor.  

Dim my_data(0,0)            
my_data(0,0) = "Apple"

Agora, definir um intervalo de ie 1 célula "A1" e colocar a matriz definida dentro setDataArray function (). 

my_range = ThisComponent.Sheets(0).getCellRangebyName("A1")
my_range.setDataArray(my_data)
 

Se você executar os conjuntos de código acima, o resultado seria: 

single cell fill using Range
Preenchimento de uma única célula usando Gama

Defina uma fileira de células usando gama

Agora, começa com mais processamento gama complexa. Nós queremos encher uma fileira de células usando intervalo. Queremos preencher as células de A3 para C3. Para isso, precisamos definir uma matriz com (0,2), onde 0 = linha e 2 = coluna. Note-se que as colunas começa com 0, assim, 0-2 é de 3 colunas que queremos preencher.

' Set a row of cells using range
    ReDim my_data(0,2)           
    my_data(0,0) = "Apple"
    my_data(0,1) = "1000"
    my_data(0,2) = "Red"
    my_range = ThisComponent.Sheets(0).getCellRangebyName("A3:C3")
    my_range.setDataArray(my_data)

O resultado do código acima:

Fill Rows Using Range
Preencha Linhas Usando Gama
Ajuste colunas de células usando gama

No lado oposto, queremos preencher uma única coluna com várias linhas. Definir uma matriz com (2,0) e tenho esse código no lugar. 


' Set a column of cells using range
    ReDim my_data(2,0)            
    my_data(0,0) = "Apple"
    my_data(1,0) = "1000"
    my_data(2,0) = "Red"
    my_range = ThisComponent.Sheets(0).getCellRangebyName("C1:C3")
    my_range.setDataArray(my_data) 

O Resultado:

Fill Columns using Range
Preencha colunas usando Gama
 Defina uma linha e coluna de células do mesmo tamanho usando gama

Vamos encher as duas faixas de linha e coluna usando mesmo tamanho. Semelhante ao exemplos acima, definir uma matriz com o tamanho (2,2).

' Set row and column of same size using range
    ReDim my_data(2,2)           
        my_data(0,0) = "Apple"
    my_data(0,1) = "1000"
    my_data(0,2) = "Red"

        my_data(1,0) = "Apple-1"
    my_data(1,1) = "1000-1"
    my_data(1,2) = "Red-1"

        my_data(2,0) = "Apple-2"
    my_data(2,1) = "1000-2"
    my_data(2,2) = "Red-2"

    my_range = ThisComponent.Sheets(0).getCellRangebyName("B2:D4")
    my_range.setDataArray(my_data)
 
 

Saída:

Fill Rows and Columns of Same Size using Range
Preencha linhas e colunas de mesmo tamanho de uma animação

Defina uma linha e coluna de células de diferentes tamanhos usando gama

Para preencher a faixa de tamanho diferente de coluna e linha, definir uma matriz de tamanho diferente.

' Set row and column of different size using range
    ReDim my_data(3,1)           
        my_data(0,0) = "Apple"
    my_data(0,1) = "1000"

        my_data(1,0) = "Apple-1"
    my_data(1,1) = "1000-1"

        my_data(2,0) = "Apple-2"
    my_data(2,1) = "1000-2"

        my_data(3,0) = "Apple-3"
    my_data(3,1) = "1000-3"

    my_range = ThisComponent.Sheets(0).getCellRangebyName("B2:C5")
    my_range.setDataArray(my_data)

Saída:

Fill Rows and Columns of Different  Size using Range
Preencha linhas e colunas de diferentes tamanhos usando Gama
 Conclusão:

Defina o tamanho matriz usando (linha, col) e usar a função setDataArray () para Fillout o intervalo usando macro básico.

Fonte: DebugPoint 

Comentários

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

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

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 

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/  

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

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

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