Update The Copies es-419 Explainer

Explicador de Actualiza las copias

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

Tutorial de la soluciónPara 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 último paso de 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. Ciclar por cada fila en el intervalo y llamar a makeCopy() para crear y asignar un nombre a una nueva copia del contrato.
  3. Abrir cada copia y usar 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 3.

Dentro del for…of loop que está dentro de la declaración de la función main(), crea una variable llamada copy que almacene el documento al que se accedió mediante DocumentApp.openById(copyId). Luego, justo debajo de copy, crea una variable llamada edits que almacene el arreglo anidado:

[
  [ 'CLIENT', row[0] ],
  [ 'FEE', row[1] ],
  [ 'SERVICE', row[2] ]
]

Por último, debajo de edits, llama a la función updateDoc(). Define el primer argumento como copy y el segundo argumento en edits.

Conceptos de JavaScript: variables, strings, arreglos anidados, indexación de arreglos, argumentos, declaraciones de funciones, llamadas de función
Conceptos de Apps Script: DocumentApp, .openById()

Hi I just want to know how solve it, cause i really don’t understand :c
this is my code, but i’m not sure where is the mistake
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’);
let copy = DocumentApp.openById(copyId);
var edits;
[
[‘CLIENT’,row[0]],
[‘FEE’, row[1]],
[‘SERVICE’, row[2]]
].
updateDoc(copy,edits);
}
}
main();

im struggling with this one too lol

respuesta / debes tener presente cada uno de los signos
let copy=DocumentApp.openById(copyId);
var edits=[
[ ‘CLIENT’, row[0] ],
[ ‘FEE’, row[1] ],
[ ‘SERVICE’, row[2] ]
];

                  updateDoc(copy, edits)
1 Like

Hola a todxs, no estoy al tanto de cual es el error que estoy cometiendo en este rompecabezas.
Si alguien puede evidenciarlo sería perfecto que me dijeran, muchas gracias slight_smile:.
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’);
let copy = DocumentApp.openById(copyId);
let edits = [
[‘CLIENT’, row[0] ],
[‘FEE’, row[1] ],
[‘SERVICE’, row[2] ],
];
function updateDoc(copy, edits);
}
}

main();

Gracias esa misma era la respuesta

gracias, pero la respuesta tiene detalles erróneos