segunda-feira, 13 de janeiro de 2025

Script para Registro de Edições no Google Sheets

 

Script para Registro de Edições no Google Sheets


Objetivo do Script

Este script tem como função registrar automaticamente a data, hora e a coluna editada na aba "Tratativa" de uma planilha do Google Sheets. O registro é feito em uma coluna específica (coluna 51) para facilitar a identificação das alterações realizadas.

Embora seja possível acessar essas informações clicando com o botão direito sobre a célula editada e verificando o histórico de edições, o script oferece uma forma prática e consolidada de acompanhar diretamente, em uma coluna separada, o que foi alterado nas outras colunas. Serve para um cenário com várias pessoas alterando a planilha.


Configuração Inicial

1. Inserção do Script

  1. Abra a planilha Google Sheets.
  2. Acesse Extensões > Apps Script.
  3. Substitua qualquer conteúdo existente pelo código abaixo:

javascript

function onEdit(e) {

    const sheet = e.source.getActiveSheet(); // Obtém a aba onde a edição ocorreu
    const sheetName = "Tratativa"; // Nome da planilha específica
    const range = e.range; // Local da edição
    const col = range.getColumn(); // Coluna editada
    const row = range.getRow(); // Linha editada
    const timestampCol = 51; // Coluna onde será registrado o horário e a coluna usada

    // Verifica se a edição ocorreu na planilha "Tratativa", entre as colunas 1 e 50, exceto na linha 1
    if (sheet.getName() === sheetName && col >= 1 && col <= 50 && row > 1) {
    const currentDate = new Date();
    const editedColumn = `Coluna ${col}`;
    const timestamp = currentDate.toLocaleString(); // Horário formatado

    // Concatena o horário e a coluna editada
    const logMessage = `${timestamp} - ${editedColumn}`;
    sheet.getRange(row, timestampCol).setValue(logMessage); // Escreve na coluna 51
    }
}

  1. Salve o projeto (ex.: "LogEdit").
  2. O script está pronto para uso.

Funcionamento do Script

  1. Monitoramento de Edições
    • O script é acionado automaticamente sempre que uma célula é editada na aba "Tratativa".
    • Ele monitora edições nas colunas 1 a 50 (A até AX) e ignora alterações na linha 1.
  2. Registro do Log
    • Para cada edição válida:
      • O script captura a data e hora atuais.
      • Identifica a coluna editada.
      • Registra uma mensagem no formato DD/MM/AAAA HH:MM - Coluna X na coluna 51 (coluna AY) da mesma linha.

Personalizações

1. Alterar o Nome da Aba

Caso deseje usar o script em outra aba, altere a linha:

javascript

const sheetName = "NovoNomeDaAba";

2. Modificar o Alcance de Colunas Monitoradas

Para ajustar as colunas que serão monitoradas, edite a condição:

javascript

if (col >= X && col <= Y)

Substitua X e Y pelos números das colunas desejadas.

3. Alterar a Coluna de Registro

Para que o log seja registrado em outra coluna, modifique o valor da variável timestampCol:

javascript

const timestampCol = NovaColuna;


Restrições

  • Aba específica: Apenas monitora a aba chamada "Tratativa".
  • Edições manuais: Não registra alterações feitas por fórmulas ou scripts automáticos.

Exemplo de Uso

  1. Um usuário edita a célula B3 da aba "Tratativa".
  2. O script registra na célula AY3:

13/01/2025 14:35 - Coluna 2


Resolução de Problemas

1. O script não está funcionando.

  • Certifique-se de que a aba tem o nome "Tratativa".
  • Verifique se as edições estão ocorrendo nas colunas 1 a 50 e abaixo da linha 1.

2. O log aparece na coluna errada.

  • Confirme o valor da variável timestampCol.


terça-feira, 13 de fevereiro de 2024

Dust always finds a way to get into your CPAP. (A poeira sempre acha um modo de entrar dentro do seu CPAP.)

A poeira sempre acha um modo de entrar dentro do seu CPAP. 

Veja o meu CPAP Resmed S10 Autoset, no qual fiz limpeza há 3 anos em setembro de 2020.

As fotos mostram a quantidade de poeira acumulada antes da limpeza. É assustador pensar que respiramos isso durante 6 a 8 horas todas as noites. 








Agora veja o resultado final.







.

Acredito que a frequência recomendada para essa limpeza seja de pelo menos a cada dois anos, apesar de trocar os filtros mensalmente. No entanto, mesmo com essa precaução, a poeira sempre parece encontrar um caminho para entrar.

Esse problema não é exclusivo da Resmed, meu Philips Respironics também apresentava essa questão, onde a poeira encontrava sempre uma brecha para se infiltrar.

Portanto, é essencial não negligenciar a limpeza interna do aparelho. Existem empresas especializadas que oferecem esse serviço. Garantir a limpeza regular do CPAP é fundamental para uma terapia mais segura e eficaz, prevenindo sintomas como coriza e outras enfermidades causadas pela presença de poeira.



sexta-feira, 26 de junho de 2020

Comandos para Executar no CMD em modo admin

"Neste tópico trataremos de abordar os comandos do menu executar. Com alguma pratica muito mais rápido do que acessar determinada tarefa.
A tecla de atalho é Windows (nos teclados modernos uma janela voadora, entre as teclas CTRL e ALT) + R, ou Iniciar e clicar no Ícone ao lado de Todos os programas."

São 117 comandos para executar no cmd em modo admin ou no menu executar.

Adicionar/Remover Programas
Digite: appwiz.cpl

Ferramentas Administrativas
Digite: control admintools

Atualizações Automáticas
Digite: wuaucpl.cpl

Assistente para Transferência de Arquivos Bluetooth
Digite: fsquirt
 
Compartilhamentos DDE
Digite: ddeshare

Gerenciador de Dispositivos
Digite: devmgmt.msc

Painel de Controle do Direct X (se instalado)
Digite: directx.cpl

Ferramenta de Diagnóstico do Direct X
Digite: dxdiag

Limpeza de Disco
Digite: cleanmgr
 
Verificação de Assinatura de Arquivo
Digite: sigverif

Findfast
Digite: findfast.cpl

Opções de Pasta
Digite: control folders

Fontes
Digite: control fonts

Pasta Fontes
Digite: fonts
 
Conexões de Rede
Digite: control netconnections
Digite: ncpa.cpl

Assistente para Configuração de Rede
Digite: netsetup.cpl
Propriedades de Internet
Digite: inetcpl.cpl

Configuração do IP (Exibe informações completas da Configuração da Conexão)
Digite: ipconfig /all

Configuração do IP (Exibe o conteúdo da Cache DNS Resolver)
Digite: ipconfig /displaydns

Configuração do IP (Depura a Cache DNS Resolver)
Digite: ipconfig /flushdns

Configuração do IP (Libera o endereço IP para o adaptador especificado)
Digite: ipconfig /release

Configuração do IP (Renova o endereço IP para o adaptador especificado)
Digite: ipconfig /renew

Configuração do IP (Atualiza todas as concessões DHCP e registra novamente nomes DNS)
Digite: ipconfig /registerdns

Configuração do IP (Exibe todas as identificações de classe DHCP permitidas para o adaptador)
Digite: ipconfig /showclassid

Configuração do IP (Modifica a identificação de classe DHCP)
Digite: ipconfig /setclassid
 
Usuários e Grupos Locais
Digite: lusrmgr.msc

Logoff do Windows
Digite: logoff

Bate-Papo
Digite: winchat

Propriedades de Mouse
Digite: control mouse
Digite: main.cpl
 
Impressoras e Aparelhos de Fax
Digite: control printers

Pasta Impressoras
Digite: printers

Editor de Caracteres Particulares
Digite: eudcedit
 
Editor do Registro
Digite: regedit
Digite: regedit32

Conexão de Área de Trabalho Remota
Digite: mstsc

Armazenamento Removível
Digite: ntmsmgr.msc

Tarefas Agendadas
Digite: control schedtasks

Central de Segurança do Windows
Digite: wscui.cpl

Serviços
Digite: services.msc

Pastas Compartilhadas
Digite: fsmgmt.msc

Propriedades de Som e Dispositivos de Áudio
Digite: mmsys.cpl

Utilitário de Rede para Clientes do SQL Server
Digite: cliconfg

Editor de Configuração do Sistema
Digite: sysedit

Utilitário de Configuração do Sistema
Digite: msconfig

Propriedades do Sistema
Digite: sysdm.cpl

Gerenciador de Tarefas
Digite: taskmgr

Cliente de Telnet
Digite: telnet
 
Desligar o Windows
Digite: shutdown

System File Checker (Pesquisa imediatamente todos os APS)
Digite: sfc /scannow

System File Checker (Pesquisa imediatamente todos os APS a cada inicialização)
Digite: sfc /scanboot

Gerenciador de Utilitários
Digite: utilman

Firewall do Windows
Digite: firewall.cpl

System File Checker (Restaura a pesquisa à configuração padrão)
Digite: sfc /revert
Lente de Aumento
Digite: magnify

Janela das Ligações de Rede
Digite: ncpa.cpl

Windows Management Infrastructure
Digite: wmimgmt.msc

System File Checker (Pesquisa imediatamente todos os APS uma vez na próxima inicialização)

Gerenciamento de Disco
Digite: diskmgmt.msc

Gerenciador de Partição
Digite: diskpart

Propriedades de Vídeo
Digite: control desktop
Digite: desk.cpl
 
Propriedades de Vídeo (com a aba Aparência já selecionada)
Digite: control color

Dr. Watson
Digite: drwtsn32

Gerenciador de Verificação de Driver
Digite: verifier

Visualizador de Eventos
Digite: eventvwr.msc

Opções de Acessibilidade
Digite: access.cpl

Assistente para Adicionar Hardware
Digite: hdwwiz.cpl

Certificados
Digite: certmgr.msc

Mapa de Caracteres
Digite: charmap

Visualizador da Área de Transferência
Digite: clipbrd

Prompt de Comando
Digite: cmd

Serviços de Componentes
Digite: dcomcnfg

Propriedades de Teclado
Digite: control keyboard

Configurações Locais de Segurança
Digite: secpol.msc
 
Gerenciador de Objetos - Pacote
Digite: packager

Administrador de Fonte de Dados ODBC
Digite: odbccp32.cpl
 
Opções de Telefone e Modem
Digite: telephon.cpl

Propriedades de Opções de Energia
Digite: powercfg.cpl

Solicitações do Operador de Armazenamento Removível
Digite: ntmsoprq.msc

Conjunto de Diretivas Resultantes (XP Prof)
Digite: rsop.msc

Scanners e Câmeras
Digite: sticpl.cpl

Serviços de Componentes
Digite: comexp.msc

System File Checker (Limpa o cache do arquivo)
Digite: sfc /purgecache

Definições locais de segurança
Digite: secpol.msc

Performance Monitor
Digite: perfmon.msc

 
Resultant Set of Policies
Digite: rsop.msc
 
Serviços
Digite: services.msc
 
Contas de Usuário
Digite: control userpasswords2

Gerenciador de Usuários do Wint Server (somente windows2003 server)
Digite: usrmgr

Instalador do Active Directory (somente windows server)
Digite: dcpromo

Gerenciador de Tarefas
Digite: taskmgr

Pastas Partilhadas
Digite: fsmgmt.msc

Politicas de Grupo
Digite: gpedit.msc

Utilizadores Locais e Grupos
Digite: lusrmgr.msc

Desfragmentador de Disco
Digite: dfrg.msc
 
Visualizador de Eventos
Digite: eventvwr.msc

Protegendo Banco de Dados de Contas do Windows XP
Digite: syskey

Conectar-se  ao Site do Windows Update
Digite: wupdmgr

Introdução ao Windows XP
Digite: tourstart
 
Gestão do Computador
Digite: compmgmt.msc

Gestão de Discos
Digite: diskmgmt.msc
 
System File Checker (Define o tamanho de cache)
Digite: sfc /cachesize=x

Gestor de Dispositivos
Digite: devmgmt.msc
 
Password Properties
Digite: password.cpl

Desempenho
Digite: perfmon.msc
Digite: perfmon

Opções Regionais e de Idioma
Digite: intl.cpl

Contas de Usuário
Digite: nusrmgr.cpl

Controladores de Jogo
Digite: joy.cpl

Group Policy Editor (XP Prof)
Digite: gpedit.msc

Iexpress Wizard
Digite: iexpress

Serviço de Indexação
Digite: ciadv.msc

Check Disk
Digite: chkdsk

Gerenciamento do Computador
Digite: compmgmt.msc

Propriedades de Data e Hora
Digite: timedate.cpl

Desfragmentador de Disco
Digite: dfrg.msc




quinta-feira, 13 de setembro de 2018

Erro ao emitir Comprovante de Inscrição de 2ª via CPF

Erro ao emitir Comprovante de Inscrição de 2ª via CPF

Esses erros abaixo ocorrem sempre nos sites da receita caso não tenha a cadeia de certificados instalada ou atualizada! 
"Invasores podem estar tentando roubar suas informações de www.receita.fazenda.gov.br (por exemplo, senhas, mensagens ou cartões de crédito). Saiba maisNET::ERR_CERTIFICATE_TRANSPARENCY_REQUIREDO servidor apresentou um certificado que não foi divulgado publicamente usando a política de Transparência dos certificados. Esse é um requisito para alguns certificados, a fim de garantir que eles sejam confiáveis e protejam você contra invasores.Ir para www.receita.fazenda.gov.br (não seguro)"
"O servidor www.receita.fazenda.gov.br usa um certificado de segurança inválido.O certificado não é considerado confiável porque o certificado do expedidor é desconhecido.(Código do erro: sec_error_unknown_issuer)"

No site do ITI (http://www.iti.gov.br/icp-brasil/) podemos encontrar os links e instruções para atualizar os certificados.

Veja o passo a passo para atualizar o Firefox e acessar normalmente a segunda via de CPF e outros sites da Receita Federal. No Chrome ainda não consegui resolver.

Passo 1: Acesse http://www.receita.fazenda.gov.br/publico/Certificados/icpbrasilv2.cer para baixar a cadeia "Autoridade Certificadora Raiz Brasileira v2". O browser disponibilizará duas opções, selecione todas para proceder a instalação, clique no botão 'Ok';

Passo 2: Acesse http://www.receita.fazenda.gov.br/publico/Certificados/acrfbv3.cer para baixar a cadeia "Autoridade Certificadora Secretaria da Receita Federal do Brasil v3". O browser disponibilizará duas opções, selecione todas para proceder a instalação, clique no botão 'Ok';

Passo 3: Acesse http://www.receita.fazenda.gov.br/publico/Certificados/acserprorfbv3.cer para baixar a cadeia "Autoridade Certificadora SERPRORFB v3". O browser disponibilizará duas opções, selecione todas para proceder a instalação, clique no botão 'Ok';


Feche e abra o seu Mozilla Firefox, e acesse normalmente o site do CPF (Aqui funcionou tanto no windows quanto no Linux).
O Portal do CPF e de boa parte da Receita funcionará normalmente.

Referências: 

segunda-feira, 10 de setembro de 2018

Roteador Multilaser RE060 é o Tenda N30

Roteador Multilaser RE060 é o Tenda N30

Estava tendo lentidão e problemas no DNS no meu roteador Multilaser RE060, tive problemas semana passada com troca remota de DNS via exploit, hackers trocam seu DNS para se apoderar de dados de acesso ao banco do brasil ou itau. Meu DNS foi trocado para exatamente esses ips 18.223.2.98 e 149.56.113.19. Vejam relatos no twitter:
Acessei o site do fabricante, mas o firmware era o último divulgado pela empresa, após pesquisar muito na internet constatei que a foto dos dois roteadores eram idênticas, mas o Multilaser na cor preta e o Tenda na cor branca. Vejam as fotos abaixo.

Acessei o site da TENDA em 
e obtive o N30 Firmware V5.07.46_EN.

Atualizado com sucesso para o Tenda N30 V5.07.46! Atualizar firmware, envolve riscos de perda do roteador, façam por sua conta e risco.

Ainda não trocaram o DNS via exploit, mas estou verificando semanalmente com esse novo firmware.



sexta-feira, 31 de agosto de 2018

Roteador Multilaser RE024 Travando e sem Firmware

Roteador Multilaser RE024 Travando e sem Firmware


Estava tendo travamentos no meu roteador Multilaser RE024, mas o firmware era o último divulgado pela empresa, após abrir a placa interna e pesquisar muito internet constatei que o chipset wireless BCM5356C0KFBG é o mesmo do TENDA W311R, pelo forum do DD-WRT: https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=709417 e constatei também que era a mesma RAM: EM638165TS-6G 8M, a foto é idêntica a do RE024!

Acessei o site da TENDA em http://www.tendacn.com/en/download/get-W311R.html e obtive o W311R Firmware V5.07.46_EN.bin, fiquei com receio do .47, pois tinha extensão de arquivo estranha ".trx".

Atualizado com sucesso para o Tenda W311R V5.07.46! Atualizar firmware, envolve riscos de perda do roteador, façam por sua conta e risco.

sábado, 28 de julho de 2018

CorelDRAW X6 crash on opening and stop working


CorelDRAW X6 crash on opening and stop working


Creio que essa solução possar servir para CorelDRAW X7 e CorelDRAW X8 também.

Eu tentei de tudo que havia na internet, o exception code sempre era E0434352 que tem correlação com .NET, desabilitei o .NET do Windows 7 e habilitei novamente, não deu, rodei Antivirus, Malwarebytes, limpei todas as pastas TEMP e nada. Atualizei o Windows todo! Nada!

Daí comecei a instalar um debug para o .NET de acordo a pagina abaixo:
https://stackoverflow.com/questions/6244939/how-do-i-fix-a-net-windows-application-crashing-at-startup-with-exception-code

Achei o WinDBG que vem no pacote do WinSDK para windows 7 + .NET 4, mas o NET do Seven era 3.5.1, tive que instalar o .NET 4, ok instalado, mas no final da instalação do SDK deu um erro, teria que investigar, mas como havia mexido muito, tentei abrir o CorelDRAW novamente e funcionou, tudo perfeito, Windows atualizado e Corel funcionando, era alguma corrupção no .NET 3.5.1, mas o .NET 4 resolveu. Depois tento instalar o WinSDK novamente. rs