2016-03-23 2 views
0

Ich versuche herauszufinden, wie man jemanden aus einer Tabelle mithilfe von Google App-Skripten entfernt.Entfernen von Zugriff von einem Blatt mit E-Mail aus einer Zelle bearbeiten

Im Wesentlichen habe ich eine zentrale Tabelle mit Informationen wie E-Mails, Namen, UIDs usw. darauf. Ich versuche, die E-Mail von dieser Tabelle abzurufen und die removeEditor-Funktion zu verwenden, um diese E-Mail aus einer anderen Tabelle zu entfernen. Sie können den folgenden Code anzeigen.

 var officerIDrow = officerID + 1; 

    var Tracker = SpreadsheetApp.getActive().getSheetByName('P_Tracker'); //the button is on the same sheet as this, this is why it is get active. 

    var PTBooking = SpreadsheetApp.openById("1JPS69ko99dQTEwjplF_l2l2G_T8RyHjxCyMxXd_AV_s"); //Referring to the other sheet where the email will be removed from editors. 

    var EmailAddressRange = "F" + officerIDrow; //This is the column where the emails are stored. The officer ID row refers to the user inputted value in a dialog. Don't worry about this, I have already checked to see if this is the issue, 

    var EmailAddress1 = Tracker.getRange(EmailAddressRange); 

    var EmailAddress2 = EmailAddress1.getValue(); 

    var EmailAddress3 = Utilities.formatString(EmailAddress2); //In my desperation, I was trying to see if setting it as string would help. 

    PTBooking.removeEditor(EmailAddress3); 

Dies ist nicht die Vollversion des Codes. Wenn Sie es sehen möchten, können Sie auf here klicken. Aber alles, was zählt, ist oben, alles andere funktioniert gut.

Der obige Code läuft gut, bis er die letzte Zeile erreicht, in der er versucht, die E-Mail zu entfernen. Die Fehlermeldung, die angezeigt wird, besagt: "Ungültige E-Mail:". Ich nehme an, nach dem "email:" -Bit sollte es anzeigen, was gezogen wurde. Aber das tut es nicht! Ich habe keine Ahnung, warum es die E-Mail nicht findet und benutzt, um Leute zu entfernen.

Kann jemand irgendwelche Probleme entdecken?

Danke,

Shaun.

+0

Hallo, haben Sie versucht, manuell einen var als Know-Editor E-Mail-Adresse zu erklären und sehen, ob es funktioniert? Haben Sie versucht, mit getEditors zu sehen, was es zurückgibt und wie es es zurückgibt. In Var Tracker verwenden Sie einfache Anführungszeichen. '', aber in anderen verwenden Sie doppelt "". Vielleicht bleib bei einem und sieh zu. Ich weiß, du sagst, mach dir keine Sorgen über emailAddressRange, aber wenn ich es wäre, würde ich mir das auch ansehen. – Munkey

+0

Per einfach, PTBooking.removeEditor ("[email protected]"); das geht nicht. Ich habe keine Ahnung, wie man sich überhaupt auf die andere Tabelle bezieht. –

+0

Ich habe so etwas versucht. 'Funktion myTest() { var ss = SpreadsheetApp.openById (" ID HIER "); var editors = ss.getEditors(); ss.removeEditor ("[email protected]"); Logger.log (Redakteure); } ' Diese geloggte E-Mail-Adresse der Redakteure fein und entfernt den ausgewählten Editor aus einer externen Tabelle. Ich wäre interessiert zu sehen, was Ihre 'emailAddress2' Logger protokolliert. – Munkey

Antwort

0

Dieser grundlegende Test arbeitete für mich. Es könnte E-Mail-Adresse aus der Tabelle lesen und dann Editoren aus dem externen Blatt entfernen. Ich habe versucht, dein Beispiel zu kopieren, aber ich weiß nicht, wie der officerIDrow funktioniert, aber ich nehme an, es ist eine Nummer. Also nur eine Zahl als var gespeichert

function myTest() { 
var ss = SpreadsheetApp.openById("ID HERE"); 
var idRow = 11; 
var tracker = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("tracker"); 
var emailCell = "F"+idRow; 
Logger.log(emailCell); 
var emailAddress = tracker.getRange(emailCell).getValue(); 
Logger.log(emailAddress); 

ss.removeEditor(emailAddress); 

var editors = ss.getEditors(); 
Logger.log(editors); 

} 

ich die Logger Bits in verlassen haben, wie es bei Punkt wird Ihnen helfen, was Skript an jedem Punkt tut.

Die E-Mail-Adresse in der Zelle muss als einfacher sein, so [email protected]

+0

Hallo Munkey, Ich habe ein Video gemacht, das Sie unter folgendem Link finden können: https: //drive.google.com/folderview? id = 0B97zCil2wco-eTLLYkgxXzBmYnc & usp = teilen, was alles erklärt –

+0

Ich bin auf dem iPad im Moment so geschafft, Ihr Video zu sehen und können sehen, was Sie bekommen. Ich wäre wirklich interessiert, Spalte f mit f und der Zeilennummer zu füllen und zu testen, was zurückgegeben wird. Kann heute Nacht nicht wirklich mehr Hilfe anbieten, aber wenn du morgen für einen Google Hangout frei bist, lass es mich wissen. Ich bin kein Experte im Scripting, sondern versuche nur zu helfen. – Munkey