0

Pourriez-vous m'aider? Je suis un noob total, donc j'apprécierais vraiment votre aide :)Envoyer un e-mail pour une adresse dans la colonne L uniquement si la colonne G est Y

J'essaye de créer un manuscrit pour une feuille de calcul qui envoie un message à une adresse e-mail sur la colonne L chaque fois, sur le même ligne, colonne G est Y.

Par exemple:

Si G9 est modifié à Y, alors un e-mail est envoyé à l'adresse indiquée sur L9.

Actuellement, je suis en train le script ci-dessous, mais il ne fonctionne pas:

function onEditTrigger(e){ 
    var range = e.range; 
    var intCol = range.getColumn(); 

    if (intCol == 7){ 
     var intRow = range.getRow();        
     var sheet = SpreadsheetApp.getActiveSheet(); 
     var dataRange = sheet.getRange(intRow, 12, 11, 8);   
     var dataValues = dataRange.getValues();   

     MailApp.sendEmail(dataValues[0][0], "Notification", "Value in column C: " 
                  + dataValues[0][2]); 
    } 
} 

Erreur:

"TypeError: Cannot read property "range" from undefined. (line 2, file "send e-mail")" 

Répondre

0

Votre code fonctionne bien, mais je peux voir quelques questions.

  1. Vous ne dites pas mais quand vous obtenez l'erreur utilisez-vous le débogueur? Notez que l'objet d'événement (e) reçoit uniquement des informations lorsque le déclencheur est déclenché. c'est-à-dire que si vous essayez d'utiliser le débogueur pour tester une fonction onEdit(e), aucune information n'est transmise à (e) car le déclencheur n'a pas été déclenché.

  2. Veuillez lire le Google Documentation en particulier la section sur les restrictions. Il dit de

They [simple triggers] cannot access services that require authorization. For example, a simple trigger cannot send an email because the Gmail service requires authorization, but a simple trigger can translate a phrase with the Language service, which is anonymous.

Donc, pour votre script fonctionne, vous devez aller à Edit -> déclencheurs du projet en cours et créer un déclencheur onEdit

onEdit trigger settings

+0

Merci, James! Ça a marché :-) – Victor