Ich habe versucht, einen Weg zu finden, um eine einzelne Datenreihe in eine bestimmte E -Mail -Adresse in einer Tabelle "Live/Running" zu senden, die ich in meiner Domain verwende, um die Lkw -Treiber und deren Abholzahlen zu verfolgen. Ich habe es geschafft, diesen kleinen Code mit dem in den Blättern verfügbaren Google Apps -Skripteditor zusammenzusetzen:
function sendEmail()
{
var sheet = SpreadsheetApp.getActiveSheet();
var activeRow = sheet.getActiveCell().getRow();
var cellID = "H" + activeRow;
var dataRange = sheet.getRange(activeRow, 1, 1, 6);
var EMAIL_SENT = "EMAIL_SENT";
var data = dataRange.getValues();
Logger.log(data[0][0]);
var emailAddress = usercellnum@carrier.net;
var message = data;
var subject = "CG-PU#";
var emailSent = sheet.getRange(cellID).getValue();
if (emailSent != "EMAIL_SENT")
{
MailApp.sendEmail(emailAddress, subject, message);
var cell = sheet.getRange(cellID);
cell.setValue(EMAIL_SENT);
}
}
SpreadsheetApp.flush();
}
Wie auch immer ich die Funktion von einer Zelle in meiner Tabelle aufrufen kann =sendEmail()
und es sollte die Informationen nur aus der aktiven Zeile senden und dann diese Zeile als enn als EMAIL_SENT
Also mache ich es nicht versehentlich noch einmal.
Das Skript läuft perfekt, wenn ich es von Innern -Skripteditor ausführe und die E -Mail -Adresse harte Codierung ausführe. Wenn ich jedoch versuche, sie aus der Tabellenblatt selbst auszuführen, erhalte ich die Nachricht:
Fehler: Sie haben keine Berechtigung, Sendemail (Zeile 19, Datei "CPS_Sendemail.gs") anzurufen.
Jede Unterstützung damit wird sehr geschätzt! Es würde helfen, meinen Benutzer davon abzuhalten, zu MS Excel und Outlook zurückzulaufen. Wenn ich diesen Teil davon funktioniert, würde ich es wirklich mögen, wenn ich die Funktion eine Liste von Adressen anzeigen kann, aus denen der Benutzer auswählen kann, oder eine andere Möglichkeit, den Benutzer davon abzuhalten Träger, aber ich würde gerne so viel davon wie erwartet funktionieren lassen.
Das Skript würde/sollte nur mit meinen Benutzern in meiner Google -Domain ausgeführt werden, und als ich es zum ersten Mal ausführte, war ich sicher, dass ich den Autorisierungsprozess durchgemacht habe, aber diesen Teil der Dinge nicht wirklich verstehe.
Sie verwenden derzeit MS Excel/Outlook und kopieren und fügen die Zeile in eine E -Mail ein, aus der sie ihre Kontakte verwenden können, um auszuwählen. Wenn ich die Funktion nicht dazu bringen kann, Googles -Kontakte zu verwenden, habe ich darüber nachgedacht, ein Treiberblatt mit einer Look -Up -Funktion oder so etwas zu erstellen - eine Art Schmerz, um eine Liste aufzubewahren, wenn Kontakte genau dort sind -, aber Sie tun, was Sie tun müssen !