Make Multiple Copies es-419 Explainer

Explicador de Haz varias copias

Objetivo de este acertijo: Usar Apps Script para completar el segundo de 3 pasos para escribir una función destinada a automatizar la creación de contratos.

Tutorial de la solución Para el último tema de este curso, usarás Apps Script para crear una función que automatice el proceso de creación de contratos.

En este acertijo, completarás el segundo de 3 pasos en la función principal.

La función principal se ha dividido en 3 pasos:

  1. Abrir una hoja de cálculo y obtener un intervalo de valores
  2. Iterar por cada fila en el intervalo y llamar a makeCopy() para crear y asignar un nombre a una nueva copia del contrato
  3. Abre cada copia y usa updateDoc() para reemplazar el texto de su marcador de posición con texto de la hoja de cálculo.

Para completar el acertijo, completa el paso 2.

Agrega un for…of loop dentro de la declaración de la función main() que itere por cada row de values. Luego, dentro del for…of loop, crea una variable llamada copyId que almacene la id devuelta por makeCopy(contractId, row[0] + ‘ Contract’). Por último, todavía dentro del for...of loop y justo debajo de la declaración de la variable copyId, imprime copyId` en la consola.

Conceptos de JavaScript: variables, strings, for…of loops, arreglos anidados, indexación de arreglos

2 Likes

This is the answer

for (let row of values) {
let copyId = makeCopy(contractId, row[0] + ‘Contract’);
console.log(copyId);

}

1 Like

bro puedes poner todo el ejercicio completo por algo esta mal en el mio y no se que es

Hola!!!
¿me podrían indicar qué estoy haciendo mal?
¡Muchas gracias!

main(){
for ( let row of values){
var copyId = makeCopy(contracId, row[0] + ‘Contract’);
console.log(copyId);
}
}

aqui esta la respuesta:

let spreadsheetId = ‘114hEvWFEbgwmk9TIF54m6bRM6Nb-anMXF4G4qN1cufY’;
let contractId = ‘226uAXY0YRUj-HMW5LQZ2YeeJgyDqmJTpnzRkGmFLch0’;

function makeCopy(id, name) {
let file = DriveApp.getFileById(id);
let copy = file.makeCopy(name);
return copy.getId();
}

function updateDoc(doc, edits) {
for (let edit of edits) {
doc.replaceText(edit[0], edit[1]);
}
}

function main() {
let sheet = SpreadsheetApp.openById(spreadsheetId);
let values = sheet.getRange(“A2:C5”).getValues();

for (let row of values){
let copyId = makeCopy(contractId, row[0] + ’ Contract’);
console.log(copyId);
}
}

main();