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

210
Visualizações
Google App Script: comparta hojas de cálculo en la columna 1, con usuarios en la columna 2

Objetivo

Al ejecutar el script, otorgue acceso de visualización para todos los correos electrónicos (columna B), a todas las hojas de cálculo (columna A)

La hoja de cálculo se parece a:

URL de la hoja Correos electrónicos
https://docs.google.com/spreadsheets/d/1 Bob@email.com
https://docs.google.com/hojas de cálculo/d/2 Juan@email.com

La secuencia de comandos

 function setSheetPermissions(){ //Spreadsheet that contains the Spreadsheet URL's & Emails. var ss= SpreadsheetApp.openById('spreadsheetID') // Sheet name that contains the URL's & Emails var sheet = ss.getSheetByName("Sheet1") // Get the values of all the URL's in column A var getSheetURLs = sheet.getRange("A2:A50").getValues(); // Get the values of all the emails in column B var getEmails = sheet.getRange("B2:B50").getValues(); for ( i in getEmails) getSheetURLs.addViewer(getEmails[i][0]) }

Problema / Error

getSheetIDs.addViewer no es una función (línea 26, archivo "Código")

Línea 26: getSheetURLs.addViewer(getEmails[i][0])

¿Qué estoy haciendo mal?

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

0

Puntos de modificación:

  • Puede recuperar ambos valores de las columnas "A" y "B".
  • En su secuencia de comandos, getSheetURLs es una matriz bidimensional. En este caso, el método addViewer no se puede usar directamente. Pensé que esta es la razón de su mensaje de error.

Cuando estos puntos se reflejan en su guión, se convierte en lo siguiente.

Guión modificado:

De:

 // Get the values of all the URL's in column A var getSheetURLs = sheet.getRange("A2:A50").getValues(); // Get the values of all the emails in column B var getEmails = sheet.getRange("B2:B50").getValues(); for ( i in getEmails) getSheetURLs.addViewer(getEmails[i][0])

A:

 var values = sheet.getRange("A2:B" + sheet.getLastRow()).getValues(); values.forEach(([sheetUrl, email]) => { if (sheetUrl && email) SpreadsheetApp.openByUrl(sheetUrl + "/edit").addViewer(email); });
  • De su hoja de cálculo de muestra, entendí que la URL de su hoja de cálculo es como https://docs.google.com/spreadsheets/d/### . En este caso, openByUrl no se puede usar directamente. Así que agregué /edit . Si las URL de la hoja de cálculo que muestra son diferentes de la hoja de cálculo de muestra, proporcione la URL de la hoja de cálculo de muestra. Por esto, me gustaría modificar el script.

  • Si las URL de su hoja de cálculo real son https://docs.google.com/spreadsheets/d/### y https://docs.google.com/spreadsheets/d/###/edit , también puede usar SpreadsheetApp.openByUrl(sheetUrl + (sheetUrl.includes("/edit") ? "" : "/edit")).addViewer(email) .

Referencias:

  • abrirPorUrl(url)
  • addViewer (dirección de correo electrónico) de la hoja de cálculo de clase
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