Versuchen Sie dies. Es verwendet onEdit und wenn A1 (Dropdown-E-Mail-Liste) auf Sheet1 bearbeitet wird, vergleicht es den Benutzer mit der ausgewählten E-Mail aus der Liste. Kopieren und Einfügen in den Skript-Editor:
function onEdit(e) {
var userEmail=e.user
var sheet = e.source.getActiveSheet().getName()
var editedCell = e.range.getSheet().getActiveCell().getA1Notation();
var selectedEmail= e.range.getSheet().getActiveCell().getValue()
if(sheet=="Sheet1" && editedCell=="A1"){
if(selectedEmail==userEmail){
return}
else{
Browser.msgBox('Must select your email.')
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getRange("A1").clearContent()
}
}}
Ich werde es einen Spalt geben! Wie kann ich eine Funktion einbauen, mit der Administratoren auf alle E-Mail-Adressen zugreifen können? – jblake
Fügen Sie eine weitere if-Anweisung nach der ersten hinzu. If (e.user == "Admin-E-Mail-Adresse") {return} –
Dies funktioniert für die Erstellung der Kommentar-Box, aber das Blatt wird immer noch berechnen, je nachdem, was die Eingabe in A1 ist. Gibt es eine Möglichkeit, eine Funktion einzufügen, die Berechnungen verhindert, wenn der Zugriff verweigert wird? – jblake