Untitled
unknown
plain_text
a year ago
3.4 kB
7
Indexable
function embaralharLinhasECriarPaginas() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('Página1');
// Obter todos os dados da Página1
var data = sheet1.getDataRange().getValues();
// Criar 24 novas páginas com nomes específicos
for (var i = 0; i < 24; i++) {
var newSheetName = 'Semana ' + (i * 2 + 1).toString().padStart(2, '0') + ' a ' + (i * 2 + 2).toString().padStart(2, '0'); // Nomes das novas páginas
var newSheet = ss.getSheetByName(newSheetName);
if (!newSheet) {
newSheet = ss.insertSheet(newSheetName);
} else {
newSheet.clear(); // Limpar a nova página antes de adicionar novos dados
}
// Copiar a primeira linha para a nova página
newSheet.appendRow(data[0]);
// Remover a primeira linha dos dados a serem embaralhados
var dataToShuffle = data.slice(1);
// Embaralhar as linhas restantes
for (var j = dataToShuffle.length - 1; j > 0; j--) {
var k = Math.floor(Math.random() * (j + 1));
var temp = dataToShuffle[j];
dataToShuffle[j] = dataToShuffle[k];
dataToShuffle[k] = temp;
}
// Adicionar as linhas embaralhadas na nova página
if (dataToShuffle.length > 0) {
newSheet.getRange(2, 1, dataToShuffle.length, dataToShuffle[0].length).setValues(dataToShuffle);
}
// Colorir as linhas alternadamente na nova página
colorirLinhasAlternadas(newSheet);
}
}
function colorirLinhasAlternadas(sheet) {
var numRows = sheet.getLastRow();
var numCols = sheet.getLastColumn();
var colors = ['#fff2cc', '#f4cccc'];
var blockSize = Math.ceil(numRows / 12); // Modificado de 14 para 12
var backgrounds = [];
for (var i = 2; i <= numRows; i++) { // Começar da segunda linha, pois a primeira é fixa
var colorIndex = Math.floor((i - 2) / blockSize) % 2; // Ajuste no índice para começar da segunda linha
var rowColors = new Array(numCols).fill(colors[colorIndex]);
backgrounds.push(rowColors);
}
if (backgrounds.length > 0) {
sheet.getRange(2, 1, backgrounds.length, numCols).setBackgrounds(backgrounds);
}
}
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// Verifica se a edição ocorreu na coluna D (coluna 4)
if (range.getColumn() == 4) {
var row = range.getRow();
var value = range.getValue().toLowerCase();
var colors = ['#fff2cc', '#f4cccc'];
var blockSize = Math.ceil((sheet.getLastRow() - 1) / 12); // Modificado de 14 para 12
var originalColor = colors[Math.floor((row - 2) / blockSize) % 2];
if (value === "ok") {
// Define a cor da linha para #a0e34d e armazena a cor original na propriedade de usuário
sheet.getRange(row, 1, 1, sheet.getLastColumn()).setBackground("#a0e34d");
PropertiesService.getDocumentProperties().setProperty("row_" + row, originalColor);
} else {
// Recupera a cor original da propriedade de usuário
var storedColor = PropertiesService.getDocumentProperties().getProperty("row_" + row);
sheet.getRange(row, 1, 1, sheet.getLastColumn()).setBackground(storedColor);
}
}
}
function onOpen() {
SpreadsheetApp.getUi().createMenu('Custom Scripts')
.addItem('Executar Main', 'main')
.addToUi();
}
function main() {
embaralharLinhasECriarPaginas();
}
Editor is loading...
Leave a Comment