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
- Abra
a planilha Google Sheets.
- Acesse
Extensões > Apps Script.
- 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
}
}
- Salve
o projeto (ex.: "LogEdit").
- O
script está pronto para uso.
Funcionamento do Script
- 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.
- 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
- Um
usuário edita a célula B3 da aba "Tratativa".
- 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.