Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
No puedo encontrar cómo detener el bucle en el script de Google

esta es la primera vez que hago una pregunta. He estado tratando de buscar cosas de secuencias de comandos de Google, pero no entiendo dónde está la comunidad.

Entonces, estoy trabajando en un proyecto de automatización de documentos, donde mi empresa quiere hacer algunos documentos a partir de una hoja de cálculo. Estoy trabajando en el primero, ahora que es difícil, pero he estado tratando de hacer el bucle solo para generar 1 documento, pero sigue generando documentos sin parar, solo con una parada manual puede hacer que se detenga. Aquí está el código que estoy usando

 function createPIN() { const googleDocTemplate = DriveApp.getFileById('1bwuLoNJQOeuBdLa6Nq-G320J6pkpHt-_aSRdbZ8IqJ8'); const destinationFolder = DriveApp.getFolderById('1wzhzMRu6HpP0eOnnFl21ZuPaOOZVqFa4'); const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sisal'); const rows = sheet.getDataRange().getValues(); rows.forEach(function(row, index) { if (index === 0) return; if (rows[3][1] | rows[3][2]) return; const copy = googleDocTemplate.makeCopy('Def1', destinationFolder); const doc = DocumentApp.openById(copy.getId()); const body = doc.getBody(); body.replaceText('{{Project_Name}}', rows[1][1]); Logger.log(rows[1][1]) body.replaceText('{{Name_of_the_Ejido_owner}}', rows[2][1]); Logger.log(rows[2][1]) body.replaceText('{{Project_Technical_Advisor}}', rows[3][1]); Logger.log(rows[3][1]) body.replaceText('{{Total_Area}}', rows[4][1]); body.replaceText('{{Management_Area}}', rows[5][1]); doc.saveAndClose(); const url = doc.getUrl(); sheet.getRange(index + 1, 4).setValue(url) //Manda Url a casilla de link a PIN }) }

Voy a adjuntar la hoja de cálculo con la que estoy trabajando para que pueda ver el origen de los datos. Todavía no puedo hacer que el bucle se detenga. ¿Alguna sugerencia?

Aquí está mi hoja de cálculo

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para cualquiera que intente hacer esto; el problema que tuve fue entender el uso del bucle forEach dentro de la función: en el tutorial que estaba viendo, usaban el bucle para acceder a toda la fila, mientras que, en mi caso, necesitaba usar filas independientes, porque la naturaleza de mi base de datos. Entonces, voy a especificar cómo resolví mi problema:

En primer lugar, voy a hacer que este uso sea más genérico.

 function createPIN() { SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Page1'); const rows = sheet.getDataRange().getValues(); const copy = googleDocTemplate.makeCopy('Def1', destinationFolder); const doc = DocumentApp.openById(copy.getId()); const body = doc.getBody(); ## Just forget the loop body.replaceText('{{Something}}', rows[x][x]); body.replaceText('{{Something2}}', rows[x][y]); doc.saveAndClose(); }

Simplemente no necesita un bucle en absoluto, ya que el objetivo es hacer un documento a la vez.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda