-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunction-onEdit.js
73 lines (57 loc) · 3.33 KB
/
function-onEdit.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
function onEdit(e) {
// Variavel para verificar qual é a guia ativa
// Desnecessário // const GuiaAtiva = SpreadsheetApp.getActive().getSheetName();
// Se for diferente de "Página1", ele interrompe o resto do código e retorna false.
// Desnecessário // if(GuiaAtiva != "Página1"){
// Desnecessário // return false;
// Desnecessário // }
// Pega a guia com os dados da "Página1"
const GuiaDados =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Página1");
// Pega o numero da linha editada/ativa
let Linha = GuiaDados.getActiveRange().getRowIndex();
// Verifica se o numero da linha é maior que 1, pois o numero 1 é o cabeçalho da planilha
if (Linha > 1) {
// Pega o valor da linha ativa na coluna 3 e guarda na variavel CelulaData
CelulaData = GuiaDados.getRange(Linha, 3).getValue();
// Verifica se a CelulaData é igual à ""
if (CelulaData == "") {
// Pega o valor da linha ativa na coluna 2 e guarda na variavel Email
const Email = GuiaDados.getRange(Linha, 2).getValue();
// Verifica se o Email é diferente de ""
if (Email != "") {
// Gera uma nova data (data atual)
const Data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "dd/MM/yyyy");
// Inseri a data na linha coluna 3
GuiaDados.getRange(Linha, 3).setValue(Data);
// Variavel para verificar se as proximas linhas estão vazias ou preenchidas
let verificar = false;
// Inicialmente essa verificação é sempre falsa e caso seja verdadeira ela sai do loop e finaliza o código
while (verificar != true) {
// Linha atual mais 1 para pegar os valores da proxima linha
Linha = Linha + 1;
// Pega o valor da 'nova' linha na coluna 3 e guarda na variavel CelulaDataNew
CelulaDataNew = GuiaDados.getRange(Linha, 3).getValue();
// Verifica se a CelulaDataNew é igual à ""
if (CelulaDataNew == "") {
// Pega o valor da 'nova' linha na coluna 2 e guarda na variavel EmailNew
const EmailNew = GuiaDados.getRange(Linha, 2).getValue();
// Pega o valor da 'nova' linha na coluna 1 e guarda na variavel NomeNew
const NomeNew = GuiaDados.getRange(Linha, 1).getValue();
// Verifica se o EmailNew é diferente de ""
if (EmailNew != "") {
// Gera uma nova DataNew (data atual)
const DataNew = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "dd/MM/yyyy");
// Inseri a data na linha coluna 3
GuiaDados.getRange(Linha, 3).setValue(DataNew);
}
// Se NomeNew, CelulaDataNew e EmailNew for igual à "", a vraiavel verificar recebe true e no proximo loop o código não será executado
if (NomeNew == "" && CelulaDataNew == "" && EmailNew == "") {
verificar = true;
}
}
}
}
}
}
}