Ich versuche, Berechtigungen zum Aktualisieren von Zellen basierend auf der Spalte E-Mail-Adresse in der Tabelle festlegen. Zum Beispiel habe ich eine Zelle "B2", die gesperrt werden muss und sollte nur für die Änderung für den Benutzer zugänglich sein, der auf das Blatt mit der E-Mail-Adresse "[email protected]" zugreift, das als ein Zeilenwert auf demselben vorhanden ist Blatt. Die E-Mail-Adresse ist dieselbe E-Mail-Adresse, mit der der Benutzer das Blatt anzeigt. Bild unten gezeigt. Jede Hilfe oder Vorschläge sind willkommen. Vielen Dank!Sperren Sie Zellen und haben nur Benutzer mit bestimmten E-Mail-Adresse diese Zellen in Google-Tabelle aktualisieren
0
A
Antwort
0
Sie können dies erreichen mit dem protection class.
Hier ist ein Code, der gerade diese für Sie tun:
Dies wird die email
Spalte nach unten gehen und einen geschützten Bereich auf der Zelle unmittelbar rechts neben der E-Mail-Adresse hinzufügen.
function ProtectRanges(){
var ss = SpreadsheetApp.getActiveSheet()
var range = ss.getDataRange();
var values = range.getValues();
var columns = GetColumns(values, range.getNumColumns(), 0); //Get the column headers
for(var i = 1; i < values.length; i++){
var email = values[i][columns.columns['email'].index]; //Get the email address from the 'email' columns
if(email !== ''){
var rangeToProtect = ss.getRange(i+1, columns.columns['owner'].index + 1, 1, 1); //Get the range to protect, one cell over
rangeToProtect.protect().addEditor(email).setDescription("Only " + email + " has edit rights"); //Protect the range and add a description
}
}
}
//Gets a columns object for the sheet for easy indexing
function GetColumns(valuesRange, columnCount, rowIndex)
{
var columns = {
columns: {},
length: 0
}
Logger.log("Populating columns...");
for(var i = 0; i < columnCount; i++)
{
if(valuesRange[0][i] !== ''){
columns.columns[valuesRange[0][i]] = {index: i ,value: valuesRange[0][i]};
columns.length++;
}
}
return columns;
}
Verwandte Themen
- 1. Nur addSubView in bestimmten Zellen
- 2. Excel: Entsperren Zellen einer bestimmten Farbe und Sperren aller anderen Zellen
- 3. DataGridView Nur-Lese-Zellen
- 4. Excel-Zellen Wert erhalten, wenn Zellen einen bestimmten Text enthalten
- 5. Regex- und Excel-Zellen
- 6. Wie verbundenen Zellen in einer bestimmten Reihe
- 7. Anzahl und Anteil der Zellen neben Zellen mit dem gleichen Wert in Excel
- 8. Ports und Zellen in Oz
- 9. Bereichsfehler-Einstellbereich in VBA mit Bereich (Zellen, Zellen)
- 10. WPF Datagrid: Machen Sie Zellen nur lesbar
- 11. Warum haben numerische Zellen keine .Characters() -Eigenschaft?
- 12. Sammlungsansicht Zellen haben eine inkorrekte Inhaltsgröße
- 13. Wie ich zwei oder mehr Zellen zusammenführen, wenn sie den gleichen Inhalt auf anderen Zellen haben
- 14. Wählen Sie alle Zellen mit Wert aus bestimmten Zeile
- 15. Lesen Zellen, die Formeln Daten mit OpenXML-API haben
- 16. Aktualisieren von Zahlen basierend auf versteckten Zellen
- 17. So aktualisieren Sie Zellen dynamisch in Primefaces-Daten Tabelle
- 18. datagridview Zellen und Comboboxen
- 19. Deaktivieren Sie bestimmte Zellen in TableView
- 20. Zusammengefasste Zellen und Uploader
- 21. Vertikal scrollende UICollectionView mit Zellen mit automatischer Größenanpassung zeigt nur die Hälfte der Zellen an
- 22. Mischen von Zellen aus Storyboard und programmgesteuert erstellten Zellen
- 23. OnEdit Ereignisbehandlung und leere Zellen
- 24. Verwechslung mit wiederverwendbaren Zellen (falsche Zellen nach dem Scrollen betroffen)
- 25. UICollectionView indexPathsForVisibleItems aktualisieren keine neuen sichtbaren Zellen
- 26. Excel-VBA-Makro-Zellen aus zwei verschiedenen Arbeitsmappen entsprechen und kopieren und entsprechend einfügen und nur die leeren Zellen
- 27. Nonsequential Zellen mit Openpyxl
- 28. Wie füllen Sie leere Zellen mit Inkrementwert in verschiedenen Zellen in Excel?
- 29. Speicher Nur sichtbare Zellen aus Excel
- 30. Icons in NatTable-Zellen
funktioniert super! Vielen Dank! – CarbonD1225