Created
January 28, 2017 18:13
-
-
Save rubenrivera/6015c00bff61a994bb0af6d97ec158a2 to your computer and use it in GitHub Desktop.
Código incluido en respuesta publicada en Stack Overflow en Español. Véase http://es.stackoverflow.com/a/46538/65.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function enviarEmail() { | |
//Iniciamos | |
//Validar si hay cuota disponible. En caso contrario avisar al usuario y terminar. | |
var cuotaDisponible = MailApp.getRemainingDailyQuota(); | |
Logger.log('Cuota disponible previa: %s', cuotaDisponible); | |
if(cuotaDisponible < 1) { | |
Browser.msgBox('No queda cuota disponible por hoy. Intenta más tarde.'); | |
return; | |
} | |
// Obtener la celda actual | |
var celdaActual = SpreadsheetApp.getActiveRange(); | |
/* | |
* En caso de que la celda actual sea B1, B2 o B3 | |
* y que se cumplan otras condiciones, enviar un | |
* mensaje | |
*/ | |
switch (celdaActual.getA1Notation()){ | |
case 'B1': | |
case 'B2': | |
case 'B3': | |
var libro = SpreadsheetApp.getActiveSpreadsheet(); | |
var hoja = libro.getSheetByName('Hoja 1'); | |
//Valor B1 | |
var destinatario = hoja.getRange(1, 2).getValue(); | |
//Valor B2 | |
var asunto = hoja.getRange(2, 2).getValue(); | |
//Valor B3 | |
var cuerpo = hoja.getRange(3, 2).getValue(); | |
//Validar que se cumplen las condiciones requeridas | |
if( | |
// Dirección de correo. Sólo validar que la longitud mínima sea 3 | |
destinatario.length > 3 && | |
// Asunto. Validar que tenga al menos un caracter | |
asunto.length > 1 && | |
// Cuerpo. Validar que tenga al menos un caracter | |
cuerpo.length > 1 | |
){ | |
//Enviar mensaje | |
MailApp.sendEmail(destinatario, asunto, cuerpo); | |
//Aviso al usuario | |
Browser.msgBox('Mensaje enviado'); | |
} else { | |
//Aviso al usuario | |
Browser.msgBox('No se envió el mensaje'); | |
} | |
/* | |
* En caso de agregar otros casos, prevenir que se ejecuten | |
* "sin querer" | |
*/ | |
break; | |
} | |
//Terminamos | |
return; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment