quinta-feira, 9 de março de 2023

Formatação condicional: criando Gráficos dinâmicos no Calc do Libreoffice

 O vídeo abaixo aborda três maneiras de fazer gráficos dinâmicos, Usando a função Soma(), usando a função CONT.VALORES() e usando a função SOMASE().

Logicamente tudo vai depender do tipo de dados os quais você está querendo basear seus gráficos Veja o vídeo, vale a pena. 

segunda-feira, 27 de fevereiro de 2023

Macro Python para escrever no Writer para você

Como escrever uma macro em Python no LibreOffice Writer

Neste tutorial, vamos criar uma macro em Python para o LibreOffice Writer que insere um texto no final do documento. Para isso, utilizaremos a biblioteca nativa ScriptForge do LibreOffice.

Passo 1: Se você ainda não tem deve criar um ambiente para macros em Python no LibreOffice vide este vídeo: Meu vídeo explicando como criar a funcionalidade.

Passo 2: Escrever a macro em Python

Comece importando a biblioteca ScriptForge:

from scriptforge import CreateScriptService

#Crie uma função python da seguinte forma:

def insere_feito_por():

    writer = CreateScriptService("Writer")

    # Obter o documento atual

    doc = XSCRIPTCONTEXT.getDocument()

    text = doc.Text

    # Ir para o final do documento

    cursor = text.createTextCursor()

    cursor.gotoEnd(False)

    # Inserir texto

    cursor.String = "\n\nFeito por João Alberto do Canal: https://www.youtube.com/@NOMOUSE ...."

Este código utiliza a biblioteca ScriptForge para criar um objeto do tipo "Writer", que permite manipular o documento atual do LibreOffice Writer. Em seguida, o código obtém o documento atual e cria um cursor de texto que vai para o final do documento. Por fim, é inserido o texto desejado. 

veja o vídeo:

terça-feira, 31 de janeiro de 2023

Vinte e uma macros no Libreoffice feitas na biblioteca nativa ScriptForge

Neste vídeo, abaixo,  mostro onde encontrar 21 macros a maioria em Python usando a biblioteca nativa do Libreoffice 'ScriptForge'. A mesma facilita a vida de quem quer fazer macros Python no Libreoffice. Encontrei um material extraordinário do Rafael Lima, o qual apresentou este trabalho na Conferência do Libreoffice de 2021. 

Fonte:

Vídeo original em Inglês do Rafael



ScriptForge a biblioteca nativa para python no libreoffice mescla Basic e Python

 ScriptForge a biblioteca nativa para python no libreoffice mescla Basic e Python aqui vemos um exemplo de uso.



Para que não conhece: A biblioteca ScriptForge é um repositório de scripts para aplicações do LibreOffice, criado para simplificar a criação, o compartilhamento e a edição de macros em Python. Com o ScriptForge, você pode procurar, instalar, gerenciar e partilhar scripts simples para aplicações do LibreOffice. É uma ótima maneira de tornar seu trabalho mais rápido e mais eficiente!

O ScriptForge é ótimo para quem faz trabalhos com o LibreOffice, pois permite criar, partilhar e editar scripts em Python. É possível simplificar a tarefa de encontrar o script certo para o trabalho, através da navegação intuitiva da biblioteca e da procura de palavras chave. Você também pode instalar os scripts diretamente no LibreOffice e compartilhá-los com outras pessoas. Além disso, você pode personalizar os scripts existentes para melhor atender às suas necessidades específicas. O ScriptForge também fornece recursos úteis para ajudá-lo a entender como criar e editar scripts. Com esses recursos, você pode criar scripts mais avançados para realizar tarefas complexas com facilidade. É uma excelente ferramenta para quem quer aproveitar ao máximo as capacidades de programação do LibreOffice.

O ScriptForge tem 30 métodos úteis para simplificar a programação do LibreOffice Calc, como especificar tipos de dados, adicionar e gerenciar planilhas e fórmulas, criar funções, definir e usar variáveis, ler e escrever dados em arquivos, entre outras tarefas. Ele também possui 11 propriedades que permitem controlar o estado da sua aplicação, incluindo nome, localização, classe, ID de grupo de trabalho e usuário. Além disso, o ScriptForge oferece muitos exemplos e documentação para ajudá-lo a aproveitar ao máximo as potencialidades do Calc do LibreOffice. O ScriptForge realmente tornou a criação de scripts em Python para o LibreOffice muito mais fácil do que antes.

Macros Python com a biblioteca nativa do Libreoffice ScriptForge

 A biblioteca ScriptForge é um repositório de scripts para aplicações do LibreOffice, criado para simplificar a criação, o compartilhamento e a edição de macros em Python. Com o ScriptForge, você pode procurar, instalar, gerenciar e partilhar scripts simples para aplicações do LibreOffice. É uma ótima maneira de tornar seu trabalho mais rápido e mais eficiente!

O ScriptForge é ótimo para quem faz trabalhos com o LibreOffice, pois permite criar, partilhar e editar scripts em Python. É possível simplificar a tarefa de encontrar o script certo para o trabalho, através da navegação intuitiva da biblioteca e da procura de palavras chave. Você também pode instalar os scripts diretamente no LibreOffice e compartilhá-los com outras pessoas. Além disso, você pode personalizar os scripts existentes para melhor atender às suas necessidades específicas. O ScriptForge também fornece recursos úteis para ajudá-lo a entender como criar e editar scripts. Com esses recursos, você pode criar scripts mais avançados para realizar tarefas complexas com facilidade. É uma excelente ferramenta para quem quer aproveitar ao máximo as capacidades de programação do LibreOffice.


quinta-feira, 5 de janeiro de 2023

Prá você, meu presente de Ano Novo!

Se você trabalha diretamente com planilhas, sabe que elas podem ser ótimas para computar números e dados, mas nem sempre são tão fáceis de usar. Já lidamos com o problema de colegas de trabalho modificando a planilha sem querer, digitando informações erradas nos lugares errados ou simplesmente destruindo fórmulas e funções complexas por inúmeras vezes. Ficamos cansados de ter que refazer tudo e tentar lembrar todas as complexidades de nossas planilhas. Então eu comecei a procurar uma solução que me permitisse compartilhar os dados com outras pessoas e ainda manter minhas planilhas seguras. E encontrei uma maneira que adaptei usando este site, ele pode gerar para você um programa que usa banco de dados totalmente personalizável e adaptável para qualquer planilha do usuário. Finalmente encontrei uma solução que eu precisava e que você certamente precisa também! O melhor de tudo? É muito simples de usar e não te custa nada além de se inscrever no meu canal. E isto é gratuito! Siga o vídeo e compreenda.


sexta-feira, 9 de dezembro de 2022

Simplificando a instalação do gerador de formulários python

Para fazer funcionar os scripts é necessário (prestar atenção nas figuras na hora de instalar o python):

1- Instalar o python vá em: https://www.python.org/downloads/

Assegure de na hora de instalar marcar os itens Add Python to PATH e instalar para todos os usuários:


Uma vez instalado o Python digite no cmd do windows: pip install sqlite3 e tecle enter


assim será instalado o Sqlite3.

 Após isto instale o PySimpleGui com o comando: pip install pysimpleGUI

Seguido instale o Pandas: py -m pip install pandas

e ainda instale a biblioteca Openxml: pip install openpyxl

E está feito!


Outra maneira de instalar as bibliotecas requeridas do python é:

Instala todas as bibliotecas de uma vez: pip install -r requirements.txt

Coloque o conteúdo abaixo dentro de um arquivo com o nome: requirements.txt 

et-xmlfile==1.1.0
numpy==1.23.5
openpyxl==3.0.10
pandas==1.5.2
PySimpleGUI==4.60.4
python-dateutil==2.8.2
pytz==2022.6
six==1.16.0

Maravilha! 

E agora pode gerar seus códigos, no site https://betobyte.pythonanywhere.com/

Grupo do nomouse no telegram convite: https://t.me/+Mcx5mJbqg701ZTc5

 Agora ainda temos uma pequena tarefa que é  instruir o antivírus do windows a deixar que ele seja executado:

São cinco passos:

Primeiro clique no canto direito em baixo na área de trabalho para encontrar a segurança do windows, conforme e a figura. 

Depois de abrir, clique em proteção contra vírus e ameaças:


Clique em cima de gerenciar configurações.

E clique em + Adicionar uma exclusão, adicione a pasta onde está o programa e os arquivos auxiliares.





Após adicionar a pasta, feche o antivírus. e teste seu arquivo.



segunda-feira, 18 de julho de 2022

Gere formulários PySimpleGui rapidamente para planilhas Excel, Libreoffice Calc e outros

CRUD  em BD e MENU - Gere programas completos rapidamente

Vou te apresentar uma forma incrível de gerar aplicativos python em minutos a partir do site de gerar formulário para Excel e Calc do Libreoffice. E pode ser usada em conjunto com suas planilhas diárias. Pronta para um usuário final fazer seus aplicativos. Se você é desenvolvedor ou está estudando Python, vai conseguir ver um CRUD funcionando perfeitamente com banco de dados. Se você já domina Python ela pode ser aproveitada para adiantar muito seu trabalho em um projeto mais complexo, pois ele possibilita um CRUD completo.



Para um gostinho antes do texto: Olha como eu faço um aplicativo Python em menos de um minuto. Primeiro dou um nome ao banco de dados no arquivo na opção banco:




Depois digito o campo separado por um espaço em branco entre eles e um "Enter" por linha. Faça isso no bloco de notas (para evitar formataçã) e copie e cole no formulário do site. Na ordem fica assim:

Nota NOTA texto opcional
Cnpj-CPF CNPJCPF texto opcional
Lançamento LANCAMENTO contas obrigatorio
Valor VALOR numero obrigatorio
Histórico HISTORICO textogrande obrigatorio
Anotações ANOTACAO textogrande obrigatorio

Note que observando cada linha, elas tem 4 nomes e o primeiro é o que irá aparecer no formulário e por isso pode ser até acentuado e com letras maiúsculas e minúsculas, o segundo é para informações ao banco de dados e por isso em maiúsculas e sem acentos ou caracteres especiais . O terceiro para os tipos de campos: numero inteiro, texto, data, endereco, textogrande, sexo, contas ou, outro tipo de campo com uma ou mais opções e o último para dizer ao programa se é obrigatório o preenchimento do item no formulário. Complicado? Não. Logo você entende na prática como funciona. Então cada campo deverá ter essas 4 informações com a sua devida informação separados por um espaço. 

Tudo isso, mas tem a ver com os tipos de campos do PySimpleGUI e lógico poderia ter programado para mais. Mas quando você compreender melhor o código, você mesmo poderá mudar.

Dando continuidade.... Vamos clicar em "Enviar" e fazer rodar, os códigos serão apresentados automaticamente. Agora é partir para o abraço, ao clicar em gravar/enviar o site emite um download de um arquivo texto com os códigos do formulário. e só ver umas poucas instruções e renomear o arquivo dando-lhe a extensão py e estará pronto para o uso. É muito rápido e o efeito é excelente veja as figuras abaixo.





E já podemos executar o arquivo em seguida e começar a inserir os dados no banco de dados através do software instantâneo que acabamos de criar. Na figura abaixo está demonstrando a busca da data (quando usado este campo) no campo calendário para inserir a data de nascimento. No menu suspenso pode-se escolher outras combinações de cores para o formulário que serão aplicadas instantaneamente.

Veja em meu canal um  VÍDEO com um tipo de formulário-programa que pode ser feito.

Claro que tanta agilidade assim depende também de você ter o python instalado. Mas, antes, vamos aos detalhes, Por que gerar estes formulários? E depois vamos ver como instalar o python para você rodar seus formulário-programa.

Resumindo: Você cria campos (contendo 4 palavras cada) em um arquivo texto traz ao site e cola, também dá um nome ao banco de dados e aperta um botão o qual cria o programa-formulário. Simples assim.

Esta facilidade resumida acima permite:

- Agilidade na criação de um formulário em relação aos disponível nas planilhas.

- Facilidade em trabalho de equipe pois, permite outras pessoas participarem da produção de dados sem nem se dar conta que estão trabalhando com um banco de dados.

- Segurança de uso e das regras dos dados, ou a separação entre programação e uso. Assim você cria o seu formulário seguro e sem medo que e as pessoas não baguncem, estraguem ou mesmo "desprogramem" acidentalmente e você perca seu trabalho. Em suma: faça-as participar da sua planilha-mãe sem elas perceberem. :)

- Personalização em diversos níveis Que você personalize o formulário a partir dele mesmo, feito com vários tipos de cores, figuras e títulos bem é possibilidades de campos para contas, sexo, ou qualquer campos multipla escolha, enfim somadas as possibilidades do uso do banco de dados, tudo pode ser ampliado.

- Ganhar um dinheiro oferecendo soluções rápidas e eficientes - Cada pessoa tem uma expertise e assim pode desenvolver um programinha baseado em dados que agilize as atividades de seu nicho, você terá ideias incríveis a partir de suas planilhas

- Mas este trabalho não é somente destinado as pessoas que usam planilhas ou gostam de formulários.

- Caso seja um estudante de programação ou mesmo um dev possa ganhar muito tempo aproveitando o CRUD e a programação feita para personalizar ainda mais o programa-formulário os quais é justo que você possa vendê-los, pois a idealização de uso será sua.

Para fazer funcionar os scripts é necessário (prestar atenção nas figuras na hora de instalar o python):

1- Instalar o python vá em: https://www.python.org/downloads/

Assegure de na hora de instalar marcar os itens Add Python to PATH e instalar para todos os usuários:


Uma vez instalado o Python digite no cmd do windows: pip install sqlite3 e tecle enter


assim será instalado o Sqlite3.

 Após isto instale o PySimpleGui com o comando: pip install pysimpleGUI

Seguido instale o Pandas: py -m pip install pandas

e ainda instale a biblioteca Openxml: pip install openpyxl


Para quem usa instalar assim: pip install -r requirements.txt

Coloque o conteúdo abaixo dentro de um arquivo com o nome: requirements.txt 

et-xmlfile==1.1.0
numpy==1.23.5
openpyxl==3.0.10
pandas==1.5.2
PySimpleGUI==4.60.4
python-dateutil==2.8.2
pytz==2022.6
six==1.16.0

Maravilha! 

E agora volte ao início da matéria e gere seus códigos.

segunda-feira, 16 de maio de 2022

Livro Fácil - Montagem das duas faces das páginas direto na impressora

Como imprimir um livro  de maneira paginada, fazendo o livro de imediato, sem colagens (só dobrando os papéis) e sem perder o papel no libreoffice Writer.

Quem já trabalhou produzindo materiais como cartões, cartões de natal ou de felicitações, cartilhas educacionais ou folhetos dobráveis de divulgação de conteúdo ou outros produtos impressos mais extensos como livros diretamente na própria impressora, sabe muito bem o quanto era melindrosa a montagem das páginas reais. Geralmente se fazia um “boneco” de páginas e colocavam-se colagens ou marcas dos números das mesmas para ver como ia ficar o produto final.

Neste vídeo, mostro de maneira bem simples como o Libreoffice faz esta montagem e a maneira certa (importante) de se virar as páginas para a impressão da outra face da folha. O que deixa o encadernamento do livro (o qual mostro) montadinho só faltando dobrar e grampear (praticamente pronto para leitura), claro que precisa de ajuste de pequenos cortes com estilete se houver sobras acima ou abaixo. Veja o vídeo, perca uns minutos agora e economize papel, tinta, energia e paciência. :)


quinta-feira, 5 de maio de 2022

Macro (fácil )em Python no Libreoffice - criando um quadro de mensagem

 Olá pessoal, no vídeo passado inciamos nossa trajetória de macros em python explicando como é o ambiente no libreoffice para as macros. Aprendemos que a suíte Libreoffice tem sua pasta própria de macros python e criamos as pastas das macros do usuário, bem como vimos uma macro de “Helo Word” nos dois locais, dessa maneira pudemos entender a dinâmica do ambiante das macros no libreoffice.

Neste segundo vídeo a ideia é dar seguimento explicando como criar uma macro apoiados pelo Easy Macro: https://git.cuates.net/elmau/zaz/src/branch/master/source do nosso querido Maurício Baeza.


Também vou apresentar o canal dele no Telegram siga este link: https://t.me/pymacros_es


e já adianto ele só aceita postagens em Espanhol. Mas vocês podem acessar o google tradutor: https://translate.google.com.br/?hl=pt-BR

ou então

o deep translator: https://www.deepl.com/translator para passar suas questões do português para o espanhol.


Um bônus pra vocês:

Vamos ver como podemos fazer uma macro para criar um “quadro de mensagens” ou a chamada “mensagem box” que irá ser muito útil na detecção do funcionamento das partes das futuras macros. Vale uma inscrição em meu canal? ( https://www.youtube.com/c/NOMOUSE ) Pelo menos um joinha né?! Mas só se você quiser mais conteúdo desses, ok?


No próximo vídeo logicamente teremos que buscar um valor numa célula e processá-lo no python não é mesmo?


Assim, de quebra já veremos como acessar uma planilha ativa e obter o endereço das células para enviar os dados.

quarta-feira, 4 de maio de 2022

Tornando acessível: O libreoffice automatizado com Python através de macros


Quem começa a aprender Python começa a ficar fascinado com algumas facilidades da linguagem, assim como,  quem conhece a suíte Libreoffice também fica empolgado em poder criar automatizações (as famosas Macros) em seus texto, planilhas ou base de dados. A suíte Libreoffice permite usar várias linguagens de programação para criação de macros. A imagem abaixo exemplifica visualmente quais são elas e entre elas nosso aquela que é o assunto em questão neste post: a linguagem Python. Ou, O libreoffice automatizado com Python através de macros também.

Por que falo "também"?! Porque o python no libreoffice já vem uma versão da linguagem embutida e ele não está lá a toa. Mas como poderemos acessar esta funcionalidade poderosa? Ou melhor como torná-la acessível ao usuário?

Neste vídeo, vamos dar uma visão da macro python que vem junto com o Libreoffice e fica numa pasta específica, bem como, vamos ensinar a criar o local para os scripts (arquivos.py) do usuário do Libreoffice. Vai ser divertido "mandar" o Libreoffice fazer do jeitinho que queremos determinada tarefa... :) Quem sabe assim você inicia a sua trajetória de desenvolvedor de macros em python.

Vamos ao vídeo?!


sexta-feira, 3 de setembro de 2021

Uma Validação em cascata diferenciada no Libreoffice

 Como assim? "Diferenciada", por quê? As validações normalmente obedecem as itens de uma coluna por vez, a proposta aqui é aplicar uma cascata na coluna que tem uma numeração única, como uma relação de CPFs, e relacionar na seleção outras colunas com dados diferentes. Por exemplo: Em uma firma onde tenho muitos lançamentos de recibos de clientes (certamente compram, ou são atendidos, várias vezes), mas que cada tempo compram, ou querem orçar, uma coisa diferente. Como saber de todas as vezes que este cliente foi lançado em minha planilha? Veja o vídeo e adapte a sua necessidade!


sexta-feira, 9 de julho de 2021

Um Banco de questões em Libreoffice

Um banco de dados de questões para fazer uma prova para alunos, seria uma coisa interessante para os professores do ensino público?

Ele pode guardar questões com respostas discursivas e/ou questões com alternativas. Então num dado momento você tem umas vinte questões ou, mesmo cem e quer selecionar 10 para uma prova. Ele faz isso (com um clique somente, agora). Caso tenha faltado algum aluno no dia da prova, a prova dele ficou personalizada e diferenciada, basta entregar ;). Assim a cola se torna quase inviável, afinal o que se quer é que os alunos aprendam, para o próprio bem deles. O vídeo abaixo é o tutorial de uso e o arquivo (obs. acabo de atualizar para versão 2 - 12/07/2021, Leia as melhorias) pode ser baixado aqui. E o programa Libreoffice aqui (escolha a versão estável).


sábado, 12 de setembro de 2020

Libreoffice: Como aprender de maneira eficiente o uso de uma suíte de escritório?


Em nossas escolas, segundo o professor Manuel Castells, estamos na era Medieval mais preocupadas em transmitir o conhecimento do que criar conhecimentos. Hoje com a internet, todo o conhecimento humano está praticamente todo acessível para todas as pessoas que saibam ler e escrever, e logicamente, tenham a disposição o livre acesso à internet. Nesse sentido, o professor ressalta a importância da relação da nossa juventude atual com esse maravilhoso mundo digital, que se demonstra hábil na multitarefa e consegue buscar novos conhecimentos de maneira transversal se utilizando da grande rede e suas muitas “expertises” que são oferecidas pelos mais diversos grupos de discussão e de apoio. No nosso caso, somos o grupo que utiliza Libreoffice, uma pequena arvorezinha nesta selva que é a internet.

Neste sentido, pensei em oferecer um aprendizado da Suíte Libreoffice, de maneira a não ir pelo simples mostrar conceitos e funções localizadas (que tem importância também), mas a aprender a utilizar a suíte ante uma tarefa concreta e mais elaborada, usando muitos recursos dentro e até mesmo fora da suíte, como uma extensão para determinado propósito, para resolver uma parte do problema proposto.

Pierre Lévy, em uma entrevista, ao comentar sobre o uso da Internet no sentido de se poderia ajudar na democracia, diz que isso não seria simplesmente apertar um botão dizendo sim ou não como num voto eletrônico a distância e perfeitamente possível. Antes sim, com a capacidade de poder elaborar e propor problemas a serem resolvidos como a melhor contribuição para a democracia. Embora se referisse a questões sociais complexas envolvendo a sociedade em uma auto-resolução de problemas. O Mestre ilumina no sentido do uso das ferramentas, para tornar nossa vida melhor, mais segura, mais livre. Quanto mais conhecimento, mais democracia, mais liberdade, menos miséria. Sim, Levy relaciona que a tecnologia trará menos miséria.

De maneira análoga, resolver um problema prático ou concreto nos torna mais hábeis e criativos no uso de uma ferramenta. Assim conseguimos tanto aprender quanto gerar mais conhecimento nessa proposta. Então, criei três playlists com três cursos totalmente gratuitos no Youtube. Eles partem de três programas muito utilizados pela população em geral servindo ao corpo docente e discente de qualquer instituição ou mesmo para empresas e governos e suas mais variadas instituições de Estado.

E o interessante é que sim, este curso pode ter relevância social e econômica pois, estas ferramentas são de uso livre e gratuito e podem evitar verdadeiras fortunas serem gastas em licenças de Softwares (Suítes de escritórios) como o Office da Microsoft, por exemplo. Com isso, sobram mais recursos nas instituições para aplicar em outras áreas mais necessitadas, redistribuindo o gastos para um ganho social e logicamente, alguns setores públicos podem incentivar os desenvolvedores mediante políticas de incentivo ao desenvolvimento e sustentação destas ferramentas tão importantes.







O Curso Writer já está publicado na sua totalidade em vídeos. O outro de Calc, está sendo publicado e até o dia 15 de setembro de 2020 estará todo publicado em vídeo também. O terceiro vídeo do Libreoffice Base já está pronto e logo se dará o início de sua publicação. Se inscreva desde já, isso ajudará que mais conteúdos de formação circulem em nossa internet:  https://www.youtube.com/c/nomouse


O curso de Writer tem a tarefa concreta formatar uma Monografia ou TCC – Tese de Conclusão de Curso. Ele faz uso de muitos conhecimentos de assimilação relativamente fáceis, dividido em aulas, na sua maioria curtas de 5 minutos mais ou menos. Somente algumas aulas foram estendidas para um tempo um pouco maior. Ele compreende desde a busca dos arquivos para instalação em fonte confiável (dos mantenedores da Suíte), uma visão geral do funcionamento e depois a especificidades do Writer no desenvolver de uma formatação de texto que compreende o uso de diversas ferramentas e conhecimentos bem como a aplicação do zootero para citações bibliográficas. Serão ainda apresentados outros programas das suítes que se farão necessários para uma melhor exploração de seus recursos e de aprendizados transversais.



O Curso de Calc tem o objetivo de construir um Controle de estoque, onde os produtos serão lançados, controlados os seus preços e margem de lucro individuais, bem como serão visualizados pelas suas fotos, que deverão ser impressas em etiquetas para boa visualização dos clientes. Deverá ainda ter um histórico dos lançamentos para consultas futuras.

O Curso do Base vem de encontro a muitas perguntas sobre o seu uso que não é muito parecido com o Access da Microsoft. Assim, neste caso nos limitamos a uma introdução sobre o assunto, mas colocamos um pouco de transversalidade no uso com o Base e o Banco de Dados MariaDB.

quinta-feira, 3 de janeiro de 2019

TRANSFORMAR FALA EM ESCRITA ou Speech Recongnition no celular (smartphone)

Como digitar textos simplesmente falando em seu smartphone. Digitação por voz ou "Speeche Recongnition". Digite textos em qualquer aplicativo que usa teclado em seu celular. Basta baixar o aplicativo no google play e pronto ;) , muito simples e prático.

Resolvi fazer esse artigo E vídeo (abaixo) vendo que alguém falava sobre o poder escrever no Google docs simplesmente falando. Resolvi escrever e explicar como fazer speech recognition ou falar e digitar diretamente em qualquer aplicativo de celular. Percebo agora que o teclado do Google melhorou muito e já está fazendo a pontuação em português.

Que bom! Percebo que ele está cada dia mais "inteligente”, aliás já está ótimo. Dá para escrever um livro sem tanto trabalho. Basta, ir se acostumando a falar a pontuação necessária já no momento de criar o texto.

Vamos agora ver qual é o procedimento para instalar o teclado do Google no seu celular você irá descobrir o sabor desta novidade. Logicamente a digitação por voz tem alguns probleminhas e para evitá-los tem que falar o mais naturalmente possível e não palavra por palavra. Com o tempo isso vai ser muito mais fácil de dominar ou seja, é a prática que fa a experiência melhorar.

Basta colocar o teclado do Google em seu smartphone e ao usar qualquer aplicativo como o WhatsApp ou o telegram. Ao digitar, antes selecione o microfone que fica dentro do teclado (não aquele de gravar voz que fica ao lado).
Veja este vídeo como proceder (feito num G5)



LISTA SUSPENSA DINÂMICA EM CALC DO LIBREOFFICE

Já imaginou ter uma lista enorme de opções em uma lista suspensa e ter que ficar descendo dezenas ou até centenas de linhas para escolher uma. Existe uma maneira de simplificar isto? Sim.

Simples até (depois de feito), basta você usar uma célula auxiliar para digitar o início da palavra, o mínimo seria três letras, assim na lista suspensa aparecerão somente as palavras ou frases iniciadas com ela. Que tal?

Para isso:

Você nomeia um espaço onde estarão os dados, e
em uma célula você digitará a palavra que quer o autocompletar (a partir da terceira letra já aparecerão na lista suspensa). Você irá fazer uso da função = ESQUERDA(), usar a validação de dados e logicamente criar uma lista de argumentos que estarão funcionando em um "intervalo de células" definido por você e Pronto. Aqui um arquivo para você ver a mesma funcionando. E aqui o Vídeo mostrando o arquivo como é.

Fiz mais uma opção de arquivo, pois às vezes queremos que a combinação de letras esteja em qualquer parte da palavra e não simplesmente no começo, foi necessário usar outro tipo de função em conjunto que foi a função =SEERRO() para esconder os resultados que não condizem com a pesquisa e retornam uma lista de #VALOR!. No final deu tudo certo, confira neste arquivo. Notem que o link leva ao dropbox, mesmo que você não tenha uma conta lá é possível fazer o download do arquivo de exemplo sem se cadastrar. Bom proveito.

quinta-feira, 10 de maio de 2018

Estilo e personalização de comandos via teclado no Libreoffice

Marcar Texto - Aprenda rapidamente como marca textos usando uma combinação de teclas no Libreoffice. Ou poderia chamar isto de: Como personalizar comandos pelos teclados.

quarta-feira, 27 de setembro de 2017

NOSSOS OLHOS – UMA REFLEXÃO EMPÍRICA DE QUEM (EU) TRABALHA EM T.I.C

Um profissional da área de T.I. dando dicas de saúde?
Olá caro leitor, se você caiu de paraquedas no blog querendo saber sobre olhos secos, e alguma experiência “caseira” que deu certo, lhe convido para ler minha trajetória com esse problema, e testar em você essa dica. E, não se preocupe com efeitos colaterais, pois, se por acaso não lhe ajudar no olho seco, hidrata seu corpo, e seus rins agradecem. rsrs

Mais de dez anos atrás, tive alguns problemas nos olhos. Uma vez os meus olhos irritaram tanto que começou uma membrana a recobrir minhas córneas e o oftalmologista recomendou um colírio. Sorte minha que o tratamento funcionou, até recuperar a saúde dos olhos a ponto de não ser preciso fazer cirurgia. Um tempo depois começou a secura nos olhos e demorei a entender o que era. Piorou muito mais minha situação quando comecei a reciclar cartuchos colocando tinta nos bulk ink de impressoras no trabalho. Isso sempre deixava resíduos de tinta nas mãos e roupas também. Horrível, essas coisas que atrapalham a saúde em nossos trabalhos em TI, por falta de proteção. Mas por que mesmo você está vendo este artigo falando em saúde em vez de algum algoritmo ou dica de informática?

Resolvi falar sobre este malefício na saúde dos olhos que nos atinge e dificulta em tudo, podendo até nos afastar de nossos trabalhos frente a tela do computador, pelo simples fato de ignorarmos certos cuidados de higiene e saúde.

Quando começou a secura em meus olhos o ventilador era um “veneno” e o vento do carro (meu fusca) também. Cheguei a usar óculos de proteção, aqueles que as pessoas usam em construção (arrancando risos de alguns colegas) para tentar bloquear o vento do ventilador de minha sala, pois, moro numa região muito quente. Achava que o ar-condicionado secava meus olhos e que o ventilador deveria ser melhor para minha saúde. Ledo engano, o vai e vem do vento arrebentava com o filme de lubrificação ocular. Quanto dias com as conjuntivas vermelhas … E pela manhã lavando o olho com shampoo neutro. Nenhuma melhora, pelo contrário. Mesmo assim não entendia como poderia ser secura nos olhos se meus olhos ficam sempre cheios de água. Mas estar úmido de água é diferente de estar lubrificados, aprendi isto. Me dei conta que a lavação de olhos estava mais prejudicando do que ajudando pois retirava a pouca lubrificação do filme ocular que meu organismo dispunha.

Comecei a usar colírios e pomadas receitados para combater a blefarite e o ardor picante nos olhos. Depois, já sabia quais comprar… e de vez em quando os fazia. Quando consultei uma oftalmologista ela me disse que a pressão ocular estava no limite. Fiquei assustado, enfim. Depois de uns tempos não conseguia mais comprar os colírios antibióticos sem receita. Complicou, tudo caro e ainda o médico que sempre me receitava o mesmo colírio e pomada para melhorar.

Passava colírio caros “pra dedéu” no dia a dia (um trenzinho de 15 ml, que não dava bem para um mês) e os passava muitas vezes. Me sentia tonto e com os olhos doloridos. Penso que era do excesso de colírio, mas não tenho certeza. Com o tempo comecei a perceber que ao passar o colírio e com a irritação, meus olhos ficavam meio nublados, pois a córnea reagindo a secura ocular para se proteger devia produzir as defesas que se misturavam ao colírio deixando minha visão nublada. Quando tem excesso de líquido nos olhos os mesmos, jogam-no para um canal que desemboca dentro do nariz. Por isso que quando a gente chora o muco logo se cria no nariz. Enfim, de vez em quando tinha alguma “produçãozinha”, e eu levava a mão “nas ventas”… que depois iam aos olhos de maneira automática para coçar, na vã tentativa de conter as “espetadas” que a falta de lubrificação causava, numa corrente reinfestação. Ainda piora quando nossas mãos estão cheias de resíduos de tinta que não saíram mesmo depois de lavar com sabão pois, a limpeza da impressora que vazou tinta emporcalhou a coisa.

NO EMPIRICISMO DA COISA:
Então, observei o que acima descrevi, como a me olhar de uma câmera oculta. Mas só fiz isto depois que me dei conta de uma melhora significativa em minha saúde. Aconteceu depois que a impressora deu “pau” e ter começado a usar cartuchos recarregáveis numa outra impressora multifuncional que realmente valeu a pena pois, tinha cartuchos grandes. Enfim, percebi um pouco de melhora e liguei as pontas, mas claro ainda não estava nada tão bom assim, só tinha melhorado bem em relação a antes. Então caprichei mais ainda, tomando cuidado de não levar os dedos ao nariz e principalmente aos olhos sem estar bem higienizados.

Minha sala de trabalho perdeu espaço para outro ambiente que me impediu de ficar sem usar o ar-condicionado. Fiquei apavorado no princípio, e com medo de piorar a secura dos olhos usei colírios lubrificantes em excesso e coincidentemente as tonturas começaram.

Dizem (sei quem lá…) que muitas das grandes descobertas foram feitas por acaso. Como o sabão por exemplo: os antigos observaram nos locais de sacrifício de animais onde a gordura e as cinzas se misturavam que na hora de limpar o local surgia a espuma e a mesma dava facilidade na atividade de limpar o local. Um dos melhores sabões para lavar os cabelos é o sabão de cinza, feito Nas zonas rurais. Hoje é difícil saber de alguém que o faça. Enfim, continuando a minha história… Estava preocupado com minha hidratação para cuidar bem de meus rins e também melhorar a memória, há uns meses atrás, me ensinaram que eu deveria observar a quantidade de água que eu bebia. Se a urina estivesse amarela, estaria sendo pouco… o ideal é que minha urina tivesse coloração bem clarinha. Então, fora os meus cafés comecei a tomar pelo menos um litro e meio de -água, todo dia. Claro que temos que cuidar nem pouca água e nem água demais. Vale o ditado “tudo que é demais é veneno”.

Fui seguindo à risca, e me hidratei bem semanas seguidas… Não sei bem como foi, mas por ter menos irritação nos olhos fui diminuindo a instilação de colírio nos olhos e fui sentindo minha tontura diminuir principalmente a da hora de dormir (achava que era labirintite). Até que me dei conta que a minha hidratação estava influenciando fortemente na lubrificação dos olhos. - Mas como? Pensei. Água não é lubrificante! Mas pensando melhor, com certeza a hidratação deveria ajudar os “canais/meios/sei-que-lá” responsáveis pela lubrificação.

Contei tudo isto a minha família e minha filha já tinha alguns indícios de secura nos olhos já usava colírio esporadicamente, quando lembrava de que tinha que esquecido de colocar colírio tomava uma água e se deu conta que minha teoria se aplicava a ela também.

Claro que continuo com o problema de olhos secos mas, bem mais controlados. Só para recordar: melhorou muito com os cuidados com a higiene das mãos. Com evitar levar aos olhos sem estar com a mãos bem limpas. Além disso, sempre é bom lembrar que o nariz, o teclado e outros inúmeros lugares com pós e germes, principalmente o trinco da porta do escritório são locais de contaminação. Passar um álcool usando até mesmo um pedaço de papel higiênico vez ou outra neles ajuda. E por último: evitar o ventilador e hidratar muito bem o organismo.
Autor: JAGarcia

Participação: Marília Garcia e Ivanir Ester

sexta-feira, 30 de junho de 2017

Macro Fácil

Inciando um pequeno banco de dados no Calc. Primeiro dizer que Banco de dados é maneira de falar, pois banco de dados verdadeiramente não se faz numa planilha. Mas com minhas constantes frustações no Base por causa do Java, ou seria minha frustração do Java que não funciona direito no Base? Enfim, sem divagações e direto ao ponto. Uma matéria minha anterior, em meu blog, versava sobre essa ideia que volta e meia me “pegava”, usar o Calc como formulário e para guardar dados, - Cara ele passa de um milhão de linhas para ser guardadas…. Veja a matéria em: http://betobyte.blogspot.com.br/2014/02/a-necessidade-e-mae-da-invencao-quem.html

Depois disso, o pessoal do Linux dizia que o Calc não abaixava a linha durante a macro automática. Resolvi pedir ajuda no https://ask.libreoffice.org/pt-br/questions/ aqui neste site tem muitos “feras” em Libreoffice. Lá eu lancei uma pergunta: https://ask.libreoffice.org/pt-br/question/58248/definir-o-endereco-de-colagem-na-macro/ a qual seria como eu colo um conteúdo numa dada célula? Olha só o que eu queria: queria escrever na Planilha2 usando sempre umas três linhas (para começar), no sentido vertical e a um comando de ok, recortá-las para a Planilha1 colando no sentido horizontal. Nessa “malandragem” eu teria a Planilha2 como Formulário e a Planilha1 como Banco de Dados, ou o a Planilha “BD” como mais tarde resolvi chamar em meu arquivo (mais evoluído) CRUD em Calc.

Em meu socorro veio o Colega Grafeno, aliás, uma das grandes coisas dessa comunidade são as grandes pessoas que não tem “pudores” em compartilhar seus conhecimentos. Temos uma comunidade muito boa e com espaço para muito mais pessoas de boa vontade. Depois de tantos preâmbulos vamos direto ao ponto a macro que o Grafeno produziu para mim e para o mundo todo :) acessar livremente.

Primeiro passo é ir no Calc e criar duas planilhas, Planilha1 e Planilha2. Depois, fazer uma macro qualquer de maneira automática:




digite algo em uma célula tire o cursor para outra célula e clique em “parar Gravação”:




irá aparecer esta janela:
Localize o arquivo (por enquanto com o nome) Sem título, clique nele e salve-a no arquivo mesmo, assim ele estrá sempre no arquivo quando copiá-lo por algum motivo. Normalmente, a primeira macro tem o nome de main e fica dentro do modulo1, mas para frente você irá descobrir melhor como funciona isto.

Agora vá em Menu, “Ferramentas, Macro, editar macros e lá clica no ícone de seu arquivo e à direita aparecerão as macros, depois é só acrescentar esta macro (copie e cole o conteúdo disponível no quadro abaixo), logo abaixo do “end sub” da recém-criada macro.

















Selecione a Macro Main e clique em Editar. Copie e cole o conteúdo abaixo do última linha “end sub”



Macro autoria: Grafeno


Sub TransferirDados
Dim oDoc As Object, oPlanOrigem As Object, oPlanDestino As Object
Dim sEndereco As String, sCol As String, sLin As String
Dim iLin As Integer

    'Obter as planilhas de origem e de destino
    oDoc = ThisComponent
    oPlanOrigem = oDoc.Sheets.getByName( "Planilha2" )
    oPlanDestino = oDoc.Sheets.getByName( "Planilha1" )

    ' Pegar o Endereço em B1 na planilha de origem
    sEndereco = oPlanOrigem.getCellRangeByName( "B1" ).String
    ' Pegar a coluna e a linha definidas no endereço 
    sCol = Left( sEndereco,1 )
    sLin = Mid( sEndereco,2,Len( sEndereco ) )


    'Verificar se é um endereço válido
    If  Ucase( sCol ) <> "A" Or Not IsNumeric( sLin ) Then 
        MsgBox "Por favor, forneça um endereço correto.", 16, "Erro"
        Exit Sub
    End If

    ' Transferir os valores
    iLin = cInt( sLin ) - 1 ' Menos 1 porque a posição das células começa com 0.
    oPlanDestino.getCellByPosition( 0,iLin ).String = Ucase(sEndereco)
    oPlanDestino.getCellByPosition( 1,iLin ).String = oPlanOrigem.getCellRangeByName( "B2" ).String
    oPlanDestino.getCellByPosition( 2,iLin ).Value = oPlanOrigem.getCellRangeByName( "B3" ).Value

    ' Limpar o conteúdo do intervalo B1:B3
    ' Argumentos do método clearContents:
    '  -> 1 para apagar valores
    '  -> 4 para apagar strings (texto)
    '  --> 1 + 4 = 5 apaga valores + string
    oPlanOrigem.getCellRangeByName( "B1:B3" ).clearContents( 5 )
End Sub



Sua macro está pronta e tudo que você digitar na células B1 a B3 (sentido da coluna) serão trasportadas para a Planilha1 no sentido horizontal (de linha).


Mas será que é qualquer coisa mesmo? Não, lá existirão células que só aceitarão números e outras só aceitarão strings (letras). No próximo vídeo e artigo analisaremos a anatomia dessa macro que tão gentilmente o Grafeno do ASK do Libreoffice nos disponibilizou. Veja mais em meu blog: http://betobyte.blogspot.com.br.

Baixe o arquivo de teste.
Assista ao meu vídeo:
Outros vídeos:

Matéria em destaque pelo editor.

Gere formulários PySimpleGui rapidamente para planilhas Excel, Libreoffice Calc e outros

CRUD  em BD e MENU - Gere programas completos rapidamente Vou te apresentar uma forma incrível de gerar aplicativos python em minutos a part...