J'ai essayé de trouver un moyen d'envoyer une ligne unique de données à une adresse e-mail spécifique dans une feuille de calcul "Live / Running" que j'utilise dans mon domaine, pour garder une trace des chauffeurs de camion et de leurs numéros de ramassage. J'ai réussi à reconstituer ce petit code en utilisant l'éditeur de script Google Apps disponible en feuilles:
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();
}
De toute façon, je peux appeler la fonction à partir d'une cellule dans ma feuille de calcul comme =sendEmail()
et il doit envoyer les informations uniquement à partir de la ligne active, puis signaler cette ligne comme EMAIL_SENT
Donc je ne recommence pas accidentellement.
Le script s'exécute parfait si je l'exécute à partir de l'éditeur de script intérieur et que le code dur de l'adresse e-mail, mais si j'essaie de l'exécuter à partir de la feuille de diffusion elle-même, je reçois le message:
Erreur: vous n'avez pas l'autorisation d'appeler SendEmail (ligne 19, fichier "cps_sendemail.gs").
Toute aide à cela est grandement appréciée! Il serait utile d'empêcher mon utilisateur de revenir à MS Excel et Outlook. Lorsque j'obtiens cette partie qui fonctionne, je l'aimerais vraiment si je pouvais avoir la fonction afficher une liste des adresses parmi lesquelles l'utilisateur peut sélectionner, ou une autre façon de garder l'utilisateur à se souvenir et à saisir l'adresse des pilotes et Carrier, mais j'aimerais que cela fonctionne autant comme prévu.
Le script ne serait / ne devrait être autorisé à s'exécuter dans mon domaine Google avec mes utilisateurs, et la première fois que je l'ai exécuté - j'étais sûr d'avoir suivi le processus d'autorisation, mais je ne comprends pas vraiment cette partie des choses.
Ils utilisent actuellement MS Excel / Outlook et ils copient et collent la ligne dans un e-mail auquel ils peuvent utiliser leurs contacts pour lesquels sélectionner. Si je ne peux pas faire en sorte que la fonction utilise des contacts Googles, j'envisageais de créer une feuille de pilotes avec une fonction de recherche ou quelque chose - une sorte de douleur à garder une liste lorsque les contacts sont là - mais tu fais ce que tu dois faire !