Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!