Enviar múltiples correos electrónicos en Google Sheets con un solo botón - Combinar correspondencia

  Рет қаралды 25,852

Juan S Guzman

Juan S Guzman

Күн бұрын

En este video vemos como enviar correos a múltiples destinatarios con un solo botón en Google Sheets, lo que en ingles se llama "Mail Merge".
👍 Si te ha gustado este video, te encantará el curso gratis "Aprende Google Sheets en 2 horas". Aquí puedes obtener acceso juansguzman.co...
📋 Puedes encontrar el código y la plantilla de este video (y los más de 350 videos del canal) inscribiéndote en un plan mensual o anual en mi membresía JuanSGuzman - juansguzman.com
🎓Allí mismo, encontrarás un curso completo de Creación de un Sistema Completo de Envío Masivo de Correos con Google Sheets, asi como más de 80 cursos completos de Sheets, Forms y Apps Script. Aquí puedes verlo juansguzman.co...
☎️ Si necesitas asesoría personalizada, ofrezco algunas horas a la semana de este servicio. juansguzman.co...
🔔 Suscríbete al canal donde recibirás nuevos videos semanales de Sheets, Forms, Apps Script y más.
Aquí algunos canales donde me puedes seguir y apoyar:
📨 - Newsletter: juansguzman.co...
➤Patreon: juansguzman.co...
➤Telegram: juansguzman.co...
➤Instagram: juansguzman.co...
ⓕ - Facebook: juansguzman.co...
➤Tiktok: juansguzman.co...
𝕏 - (Twitter): juansguzman.co...
Cualquier sugerencia, pregunta o inquietud, te invito a comentar más abajo
▶️Videos Relacionados
Enviar un mail sencillo - • Enviar un correo elect...
Enviar mail desde una plantilla - • Enviar mails con GOOGL...
Enviar mail a un contacto específico - • Enviar emails desde Sh...
📝 Listas de Reproducción relacionadas
Envío de correos desde Sheets - • Enviar correos electró...

Пікірлер: 139
@deibysyagola
@deibysyagola Жыл бұрын
Hola Buena Tarde, quiero felicitarte y darte las gracias por el apoyo que nos brinda. tus videos son de gran ayuda Dios te bendiga.
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Hola! Que amables palabras! Mil gracias! Saludos!
@benditofutbolcol
@benditofutbolcol 4 жыл бұрын
Me estoy devorando todos tus videos. Excelentes, sigue así 💪
@bernardogudino8607
@bernardogudino8607 2 жыл бұрын
Super bien explicado y claro!!! Mil gracias, mi trabajo se ha vuelto mucho más eficiente gracias a tus tutoriales. Grande Ing. Guzmán!
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Mil gracias Bernardo!
@alejandrobenitez9807
@alejandrobenitez9807 4 жыл бұрын
Impresionante la utilidad de tus vídeos y lo bien explicado.muchisimas gracias desde Argentina
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Alejandro Mil gracias por tus palabras! Un gran saludo!
@felipeaguila1760
@felipeaguila1760 3 жыл бұрын
Nuevamente Muchas gracias Ing. Guzman por sus aportaciones Con esto vamos más allá de sheets, y combinamos con gmail, para automatizar funciones. Felicidades por el canal, la página, y todos cursos
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Mil gracias por tus palabras Felipe!
@valenfz
@valenfz 4 жыл бұрын
Hola, Excelente video, y especialmente tienes un don para explicar, vas paso a paso totalmente claro , me ha ayudado muchísimo, seguí tus videos anteriores y este pero no supe como hacer para que me cambie el asunto por cada correcto.
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola! Mil gracias! Lo voy a explicar en la parte 2 de este, espero estrenarlo muy pronto Un gran saludo!
@manuelrobles4632
@manuelrobles4632 3 жыл бұрын
Eres el puto amo de sheets
@paulaandreapayares6428
@paulaandreapayares6428 2 жыл бұрын
Mago! Mil gracias ♥
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Hola! Que amables palabras! Mil gracias! Saludos!
@damarisgutierrezortiz294
@damarisgutierrezortiz294 Жыл бұрын
Hola Me has ayudado un montón Mil gracias Casi no tengo conocimiento de programación y lo logré excelente explicación En mi trabajo debo enviar este mismo formato varios correos así como este cómo si fuera combinación de correspondencia, pero debe irse a uno o dos destinatarios y copia a mi jefe y/o jefes de los destinatarios He buscado y encontré correo con copia pero envío sencillo no con Plantilla.... Ayudaaa cómo se llama el video?.. Puedo copiar los códigos y pasarlos?🤯🤯 Gracias gracias gracias
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Hola! Gracias por tus palabras! con plantilla no cambia nada, usa las opciones GmailApp.sendMail(destinatario,asunto,mensaje.{ cc:"jj@gmail.com", bcc:"jj@gmail.com", } Saludos!
@yaelakingoytiaguerrero4376
@yaelakingoytiaguerrero4376 Жыл бұрын
Hola, excelente video. La verdad yo no sabía nada de Sheets hasta que llegue a tu canal, muchas gracias. Solo dos consultas. ¿Como puedo omitir la instrucción cuando en mi listado no tengo algún correo y no me lance error al ejecutar? y ¿Cómo puedo insertar una firma digital al final de cada correo enviado? esto último debido a que tengo la firma configurada pero no aparece una vez enviada. Espero me puedas instruir en esas dos consultas. ¡De antemano muchas gracias!
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Intenta cambiar el forEach así contactos.forEach(function(fila){ if(fila[0]){ var mensaje = crearMensaje(fila); GmailApp.sendEmail(fila[0], asunto, mensaje); } }) Saludos!
@deyvercjuropena2916
@deyvercjuropena2916 4 жыл бұрын
Muchas gracias por compartir su conocimiento!!! funciona perfectamente ..si el correo esta mal digitado ..sale error y deja de enviar ....es posible que si no esta correcto el correo continúe enviando a las siguientes celdas
@freddybrionesgutierrez9295
@freddybrionesgutierrez9295 2 жыл бұрын
Hola excelente, gracias. ¿Se puede hacer lo mismo con un for y se pueden enviar adjuntos personalizados?
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Hola! Si y si, jaja Te dejo la lista de envío de correos kzbin.info/www/bejne/ooHXZpZ3ndOffNU Saludos!
@carlosd8689
@carlosd8689 4 жыл бұрын
Buenísimo! Gran material 👍
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Mil gracias!
@jcpenato
@jcpenato 4 жыл бұрын
Excelente JuanS. Sugiero complementar envío de correo adjuntando una archivo conformado por una copia de una de las hojas de mi archivo
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Juan Carlos Muy buena idea La otra semana viene un video de adjuntos...después veremos la generación de PDFS un gran saludo!
@maximoramirezbiseno6566
@maximoramirezbiseno6566 4 жыл бұрын
hola juan gracias por compartir tus conocimientos, solo para ver si pudieras decirme que cuando se realiza un formulario los resultados de este mismo, se vayan a una hoja de calculo y estos también a un correo.
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola! Que se vayan a una hoja de cálculo se puede hacer automáticamente simplemente enlazando el formulario con sheets Para el envió del mail, puedes usar este mismo código pero atarlo a un activador que se ejecute con el envío del formulario. Te dejo un video de activadores kzbin.info/www/bejne/oqO0gqWFdsSogdk Saludos!
@rafaelguardiola7165
@rafaelguardiola7165 3 жыл бұрын
Juan Antes que todo lo felicito por su labor, referente a estos temas este es el mejor canal que existe. Gracias por compartir su sabiduría. Tengo una 2 preguntas, ojalá me pueda ayudar al enviar el correo de forma automática como puedo cambiar el formato de la fecha que aparece por default Wed Dec 22 2021 11:00:00 GMT-0500 (hora estándar oriental Cambiarlo por alguno distinto por ejemplo: 22/12/2021 11:00 La segunda cuestión es que me aparece diferente la zona horaria que tengo capturada en mi hoja a la que se manda en el correo en automático, como hago para ambos tengan la misma zona horaria ?? De antemano muchas gracias y nuevamente felicidades por todo su trabajo.
@fernandosanchez82
@fernandosanchez82 2 жыл бұрын
Hola! Juan ! Buen dia, como logro evitar que al oprimir enviar correo masivo me vuelva a enviar a los que ya fueron enviados ? y como logro colocar el OK de enviado automáticamente tambien en los envios masivos ? Muchas gracias !
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Hola Fernando, Aquí te dejo una serie de combinar correspondencia que te dara luces kzbin.info/www/bejne/bpiVdGRredCJmK8 Saludos!
@tiiiagosoares
@tiiiagosoares 3 жыл бұрын
Muchas gracias Juan. Me gustaria saber se hay alguna opción para agendar el envio masivo
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Tiago Claro que si, esto se hace con los activadores por tiempo Usas la misma función que hicimos aquí pero le creas un activador por tiempo Aquí te dejo un video kzbin.info/www/bejne/oqO0gqWFdsSogdk Saludos!
@tiiiagosoares
@tiiiagosoares 3 жыл бұрын
@@JuanSGuzman muchas gracias por compartir sus conocimientos con nosotros.
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@tiiiagosoares Gracias a ti por tus amables comentarios!
@WilliamAmayaDiaz
@WilliamAmayaDiaz 3 жыл бұрын
Gracias por el video, ha servido de mucha ayuda. Pregunta: De que forma puedo enviar una selección a una variable ??
@merlyangelicagamarrarojas1952
@merlyangelicagamarrarojas1952 3 жыл бұрын
Hola Juan ! Me ha ayudado mucho tus videos, una consulta , si quiero que en el mensaje del correo salga una fecha en formato fecha y hora , como lo podría modificar ? saludos cordiales . Buen inicio de año !
@joecampos07
@joecampos07 4 жыл бұрын
Hola Juan he estado siguiendo tus videos y me han ayudado muchisimo para los envios de mail. La unica duda que me queda sobre el Mail Merge es: ¿puedo generar una huella que diga cuando se hizo el envio de todos los correos? Asi como en el video de enviar correo por fila que se dejaba la huella por cada fila. espero puedas ayudarme. Saludos.
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Joe Mil gracias Claro que se puede. YA estoy trabajando en el segundo video de Mail Merge para explicar esto. Alguna otra sugerencia? Saludos!
@iziv2467
@iziv2467 3 жыл бұрын
EXCELENTE JUAN!!! Consulta: Necesito enviar por email turnos personalzidos (los cargados en la sheet) pero a su vez necesito el destinatario del correo me envie confirmacion de asistencia. Como puedo implementarlo? Desde Ya MILLON DE GRACIAS POR COMPARTIR TUS CONOCIMIENTOS
@damarisgutierrezortiz294
@damarisgutierrezortiz294 Жыл бұрын
Hola Juan Por fa Tambien me pueee decir si en la plantilla puedo marcar texto en negrita? Por ejemplo el nombre del destinatario y a donde queda el registro de envio de correos no salen en mi Gmail 😢
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Para esto tienes que usar plantillas html Te dejo un video kzbin.info/www/bejne/mHWkaKmQiMZ-hKM Saludos!
@nelsonpicon4901
@nelsonpicon4901 2 жыл бұрын
muy bueno el contenido, podria hacer las letras de mayortamaño.gracias
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Hola! Muchas gracias por la sugerencia! Voy a ponerla en práctica Saludos!
@rogerccaqp
@rogerccaqp 3 жыл бұрын
Hola buen video Ese icono es de telgram. entonces hubo o habrá un video sobre envio de mensajes de sheets a telegram?
@Usuaurio-kj1ym
@Usuaurio-kj1ym 3 жыл бұрын
Hola gracias, me gustaría que la plantilla fuera un documento de Google doc, para poder usar encabezado con el logo de la institución y texto de diferente tipo y que lo mande como PDF al correo de cada alumno, lo quiero para informar las calificaciones a cada alumno de mi materia
@LUISEFEIZZ
@LUISEFEIZZ 4 жыл бұрын
Hola, gracias he aprendido bastante con tus videos. En el caso que quiera enviar un correo masivo sin que cambie el texto a muchos contactos, ¿cómo puedo hacer para que se envíe un solo email?, para que no me consuma correos de mi cuota diaria. Ejemplo enviar un email para enviar un informe, necesito que se envíen a 20 contactos (de un listado vertical A2:A20), pero usando solo 1 correo de mi cuota diaria.
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Felipe Mil gracias! Ya viste este video? kzbin.info/www/bejne/e4uxmpiNp6ySes0 Ojalá te sirva Saludos!
@elkinsax
@elkinsax 4 жыл бұрын
Hola Juan muy buena explicación, me gustaría que nos ayudaras para enviar un correo con imagenes y botones css para darle un poco mas de interactividad. muchas gracias
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Elkin Acabo de publicar este video que creo que te ayudará kzbin.info/www/bejne/h5TGgnqNrbN2jaM Me cuentas si te sirvió Saludos!
@leonardolb85
@leonardolb85 3 жыл бұрын
Hola Juan!! Muy buenos tus videos. Pregunta: todas las semanas le envío un mail a cada vendedor (son 25), con un listado de clientes deudores y sus saldos respectivos. Esta información está en una planilla (podría ser 1 hoja por cada vendedor), con varias filas y columnas las cuales van cambiando de tamaño. Con este video, podría hacer estos envíos? Me pierdo en la parte de la planilla. Espero me puedas ayudar, muchas gracias!
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Leonardo! En dos semanas sale un vídeo que creo que te podría ayudar a solucionar Un gran saludo!
@leonardolb85
@leonardolb85 3 жыл бұрын
@@JuanSGuzman Genial, lo voy a aguardar entonces! Gracias! Entre nosotros, me interesa mucho aprender sobre estos temas (soy fanático del Excel, lo uso para trabajar y me gusta el entorno GSheet). Dónde te parece que pueda hacer algún curso?
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@leonardolb85 Hola Leonardo Mil gracias! Te cuento que acabo de lanzar una academia online por suscripciòn de solo Sheets y Apps Script Hay 6 cursos actualmente Sheets Basico Forms Basico Inventarios Apps Scripts Basico Apps Script para Sheets Validaciones de Datos Cada 15 días llega un nuevo curso. Los próximos son: Listas Desplegables Query Envío de mails También ahí encuentras todas las plantillas de los videos de KZbin Y los estudiantes sugieren los proximos cursos o lecciones adicionales de los cursos existentes. Tambien, respondo mucho más rápido que por KZbin Aquí te dejo un curso gratis de muestra juansguzman.teachable.com/p/descubriendo-el-poder-de-google-sheets-de-0-a-100-en-2-horas/ Y la academia juansguzman.teachable.com/ Un gran saludo! PS. Tambien tengo unos cursos en Udemy, pero la verdad me parece mejor opción esta academia
@leonardolb85
@leonardolb85 3 жыл бұрын
@@JuanSGuzman Cuando subas este video del que hablás, pls avisame ! Gracias !
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@leonardolb85 Hola! Es este kzbin.info/www/bejne/qmeXdGh9m9B0bZI Me cuentas
@By_FerchoST
@By_FerchoST Жыл бұрын
Hola esto sirve cuando el Sheets es resultado de un formulario que va alimentando es deir en el Sheets los registros van incrementando?
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Claro que si Debería funcionarte Saludos!
4 жыл бұрын
Hola Juan, muy bueno, como siempre. Tengo Plantillas diferentes en las que cambio un poco el texto según algunas particularidades del contacto. Con el envío individual, pongo la plantilla en una columna al lado de cada contacto y la puedo invocar con el recurso de que tome esa columna de la fila activa. Pero en este caso de envío masivo, no logro saber como hacer lo mismo. ¿Cómo puedo hacer para que tome la plantilla ubicada en cada fila en vez de que la levante de una celda puntual? No sé si logro explicarme. Saludos.
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Mil disculpas Matias por la demora Estas preguntas más difíciles las dejo en un repositorio especial para responderlas más adelante. Primero cuéntame si pudiste solucionar.
@algoritmolegal
@algoritmolegal 3 жыл бұрын
Inge, se puede adjuntar archivos para enviarlos de manera individual a cada correo ?
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Claro que si Aquí te dejo el video kzbin.info/www/bejne/rWe4gKxnhbWLjJY Un gran saludo!
@algoritmolegal
@algoritmolegal 3 жыл бұрын
@@JuanSGuzman Gracias profe, sería bueno que hiciera un vídeo de cómo envíar mensajes y archivos personalizados por Whatsapp desde sheets 💪
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
@@algoritmolegal Hola! Al fin lo lancé hace algunos meses. No es el mejor, pero ha servido a algunos. Gracias por esa sugerencia. Saludos!
@josued.caycho5598
@josued.caycho5598 3 жыл бұрын
Buenos días Juan, muchas gracias por tu vídeo, quería hacerte una consulta con respecto al vídeo, sería posible enviar más correos del limite de 100 por día, por ejemplo compartiendo el google Sheets y desde las otras cuentas compartidas enviar más correos?, excelentes vídeos.
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Josue Mil gracias por tus palabras! Pues la forma más fácil es avanzando a un plan pago Yo creo que siempre envía del correo del propietario, por lo que lo único que se me ocurre es tener varias bases y que de alguna manera se alimenten y se comuniquen con IMPORTRANGE o con un código cuando ya se hayan enviado otros correos Un gran saludo!
@JanLuOsmar
@JanLuOsmar 4 жыл бұрын
excelente se podria poner check para indicar cual se va a enviar dado que puedo tener como indica google maximo 100 y deseo enviar hoy dia un ejemplo 100 mañana los otros 100 que me falta pero tengo mas de 400 correos por enviar como poner una marca en que me he quedado por enviar
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola en unos pocos días sale la segunda parte , y creo que te va a servir mucho. Saludos!
@RobertoJurado
@RobertoJurado 3 жыл бұрын
Este video no me quedo claro, me confundió un poco lo que ya tenias hecho y sobre todo que como voy viendo en secuencia sobre el envio de correos desde googlesheets, los 2 dos primero no tuve problema y los corrí y funcionaron bien, pero este ultimo me esta dando problemas porque me sale mensaje de error "fila is not defined"..... si es posible hacer otro video y si vienes de una secuencia, usar los mismos nombre de libros, hojas, variantes, campos, etc. Si das cursos sobre esto por favor indicame como los puedo tomar. Gracias.
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Roberto Tienes toda la razón La verdad es que los videos a veces parecen estar un poco desconectados, y uno se puede llegar a perder Te recomiendo pasarte por la academia donde tengo dos cursos del tema. Envío de correos - juansguzman.teachable.com/p/envio-de-correos/ Envío de correos masivos - juansguzman.teachable.com/p/envio-masivo-de-correos-con-google-sheets-google-apps-script-y-gmail/ Ahí trato de ser mucho más secuencial e ir paso a paso, además que me puedes ir preguntando cualquier cosa de las lecciones Un gran saludo!
@RobertoJurado
@RobertoJurado 3 жыл бұрын
@@JuanSGuzman ya me inscribí. Súper !!!
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@RobertoJurado Excelente! Ojalá te sirva y quedo pendiente de todas tus dudas! Saludos y mil gracias!
@Pablor140
@Pablor140 3 жыл бұрын
Juan, gracias por el vídeo. Estoy intentando aplicar el programa de “Mail Enviado” para que me ponga el OK cada vez que envía el correo pero me quedo estancado. Comentaste que harías un vídeo pero no lo he visto, me lo podrías explicar? Mil gracias, es que estoy teniendo problemas para establecer el número de fila dinámico para que vaya cambiando según qué fila este tocando. Gracias
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola! No se si ya viste este video kzbin.info/www/bejne/emrEnGV_jsh4nJo Un gran saludo!
@monicagonzalez2611
@monicagonzalez2611 2 жыл бұрын
Hola Juan muchas gracias como siempre por tan grande aportación, te felicito. Disculpa, tengo un formato de cotización y tomé algunas de las variables dentro del formato para la plantilla, esto es, el correo, el nombre cliente y la razón social. Cuando el correo se envía con el archivo adjunto, el PDF aparte de la hoja de la cotización imprime todas las demás las hojas del libro, esto es, la de la plantilla y la de los clientes y productos, pero me gustaría especificar en el código que sólo imprima la primera pestaña (en este caso, se llama Cotizador) este es el código, agradezco cualquier observación. Saludos. function enviarCorreo() { const nombreBase = 'Cotizador' const archivo = SpreadsheetApp.getActiveSpreadsheet() const hojaCotizador = archivo.getSheetByName('Cotizador'); var plantilla = archivo.getSheetByName('PlantillaCorreo').getRange(3,1).getValue(); var cuota = MailApp.getRemainingDailyQuota(); Logger.log(cuota); if(hojaCotizador.getName()==nombreBase){ var correo = hojaCotizador.getRange("D8").getValue(); var razonSocial = hojaCotizador.getRange("D5").getValue(); var nombreContacto = hojaCotizador.getRange("D9").getValue(); var mensajeAlerta = "El correo no pudo ser enviado"; var asunto = "Cotización de la Empresa X"; var mensaje = plantilla.replace("{{correo}}",correo) .replace("{{razonSocial}}",razonSocial) .replace("{{nombreContacto}}",nombreContacto) if(correo==""){ SpreadsheetApp.getUi().alert(mensajeAlerta) }else{ const archivo=DriveApp.getFileById("abcdefghijklmnopqrstuvwxyz123"); const blob=archivo.getAs(MimeType.PDF) GmailApp.sendEmail(correo,asunto,mensaje, { attachments: [blob] }); }
@mhcastillof
@mhcastillof 3 жыл бұрын
Una consulta, si tengo una cuenta empresarial pero es de outlook, hay alguna alternativa
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Manuel Obligatoriamente debes tener gmail, pero puedes hacer algunos trucos como en este video kzbin.info/www/bejne/b5bFf32Zh56eb8U Saludos!
@JesusJimenez-tk3nz
@JesusJimenez-tk3nz 2 жыл бұрын
Hola que tal Espero me puedan apoyar mi Duda al llenar la pantilla los datos me salen como muchos digitos despues del punto decimal , ya que es el resultado de un porcentaje. hay alguna forma donde esto pasarlo a un entero ? gracias
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Haz el formato en tu Sheet y en vez de getValue usa getDisplayValue Saludos!
@fitubocci
@fitubocci 3 жыл бұрын
Hola Juan! Como estás? En el caso que quiera incluir en un mismo mail, información de varias filas que contengan check box en TRUE (para poder delimitar que filas quiero enviar) cómo debería indicarle eso mismo al código? Gracias!
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Fiorella Muy interesante el reto Lo dejo para un video Un gran saludo!
@AngieRamirez-qr9ig
@AngieRamirez-qr9ig 9 ай бұрын
En la ultima actualización se ve todo muy diferente y no es tan practico, quiero decir que no hay tantas opciones de funciones o de comandos de apps scrip, me ha dado muchos problemas para ejecutar el codigo
@AngieRamirez-qr9ig
@AngieRamirez-qr9ig 9 ай бұрын
Podrias hacer un tutorial mas acualizado?
@JuanSGuzman
@JuanSGuzman 8 ай бұрын
Claro que sí, ya lo anoto Por ahora, puedes ver este video donde lo hago rapidamente en Sheets 2024 kzbin.info/www/bejne/r5KahWyHlJiZb9k Saludos!
@gerardopena788
@gerardopena788 3 жыл бұрын
Muchas gracias por tu aporte para los que deseamos aprender este tema. Me sale error al correr el onOpen: ____________________________________________ Error ReferenceError: Spreadsheet is not defined ____________________________________________ Me pudieras apoyar diciéndome como corregir este error. De nueva cuenta, muchas gracias por el apoyo.
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Gerardo Déjame ver como tienes el código Saludos!
@gerardopena788
@gerardopena788 3 жыл бұрын
@@JuanSGuzman Hola, de antemano gracias por tu apoyo. Me marca el mismo error en tres partes del código, las cuales te hago llegar: config.getRange("B3").setValue(cuota); Logger.log(cuota); contactos.forEach(function(fila){ var mensaje = crearMensajeHtml(fila); enviarMail(fila[0],asunto,mensaje,nombreCorreo) }) } El error es: Registro de ejecución 11:30:34 Aviso Se ha iniciado la ejecución 11:30:01 Información 33.0 11:30:36 Error ReferenceError: crearMensajeHtml is not defined (anónimo) @ Correo Actual.gs:98 mailMerge @ Correo Actual.gs:97 El segundo error es: function onOpen() { crearMenu(); } function crearMenu(){ const miMenu = Spreadsheet.App.getUi().createMenu("Acciones"); miMenu .additem("Enviar Mail a contacto actual","enviarMailActual") .additem("Enviar correos masivos","mailMerge").addToUi() .addToUi() } onOpen: Registro de ejecución 11:33:35 Aviso Se ha iniciado la ejecución 11:33:35 Error ReferenceError: Spreadsheet is not defined crearMenu @ Correo Actual.gs:7 onOpen @ Correo Actual.gs:3 crearMenu: Registro de ejecución 11:33:56 Aviso Se ha iniciado la ejecución 11:33:56 Error ReferenceError: Spreadsheet is not defined crearMenu @ Correo Actual.gs:7
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@gerardopena788 Hola Mil gracias por compartir Error 1. No es Spreadsheet.App sino SpreadsheetApp Error 2. Copiaste la función crearMensajeHtml? Un gran saludo!
@nadiariveravelazquez9850
@nadiariveravelazquez9850 3 жыл бұрын
Hola Juan!, me han sido de gran ayuda tus videos, hice algo similar a lo que tu muestras, pero tengo una duda. en tu ejemplo solo designas una columna para los correos, en mi caso tengo dos columnas designadas para los correos destinatarios. El problema es que solo se envía a un correo, cuando debería mandarse a ambos. Te paso el fragmento del código, me podrías ayudar a saber que estoy haciendo mal, por favor? :'v Aquí se manda el correo: var message = template.evaluate().getContent(); MailApp.sendEmail({ to: empleado.email, subject: empleado.celebraciones[cel].asunto, htmlBody: message, }); Y aquí "declaro" que celdas se van a leer: var empleado = { email: rec[0], correo: rec[1], Nombre: rec[2], insignia: rec[4], celebraciones: celebraciones }; correo, es la 2da columna del 2do correo. :c
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola! Cuando vas a enviar a varios mails, te toca hacer una cadena separada por comas entonces seria to:empleado.email+","+empleado.correo Me cuentas si te funciona Saludos!
@ikergonzalez7986
@ikergonzalez7986 2 ай бұрын
Muy interesantes! Lo malo es que he llegado al "forEach" y no me aparece como función. ¿Cuál puede ser el problema? Gracias!
@ikergonzalez7986
@ikergonzalez7986 2 ай бұрын
Perdona, problema resuelto. No estaba en el forEach sino en la toma de datos.
@JosemanuelMenco-uu8rh
@JosemanuelMenco-uu8rh Жыл бұрын
Agregar flechas para enviar los Correos
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Hola! A que te refieres exactamente Saludos!
@rodrigozabala6149
@rodrigozabala6149 3 жыл бұрын
hola Juan una consulta no me funciona en el var de mensaje las opciones .replace me da error que puede ser?
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola! Normalmente es que la variable a la que le estas haciendo replace no es un texto Saludos!
@rodrigozabala6149
@rodrigozabala6149 3 жыл бұрын
@@JuanSGuzman es una formula de donde lo toma ahi forma que remplace por ese dato o no
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@rodrigozabala6149 Siempre lo puedes convertir a texto con toString() Un gran saludo!
@oxpey4473
@oxpey4473 2 жыл бұрын
Hola juan cuando intento enviar un mail. Dice que alcancé el maximo de destinatarios (al parecer 50) se puede aumentar este limite?
@oxpey4473
@oxpey4473 2 жыл бұрын
Es decir necesito enviar un solo y mismo correo a 150 destinatarios en un solo correo
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
Hola! El limite es de 100 destinatarios para cuentas gratis. Te puedes pasar a una cuenta workspace y te aumenta a 1500. developers.google.com/apps-script/guides/services/quotas Saludos!
@oxpey4473
@oxpey4473 2 жыл бұрын
@@JuanSGuzman pues no, no me deja. mi codigo en mi GAS es algo talque así: var correos = [(aqui dentro tengo 57 correos] y cuando trato de enviar con "GmailApp.sendEmail(correos , asunto, mensaje, { name: plantillaNombre });" Dice que me excedo en la cantidad maxima de destinatarios. Si le quito unos 7, si me deja... es decir que el máximo es 50. No tengo idea que puede ser. Y como tengo todos los correos en una celda separados por coma, no se me ocurre como partirlo en 2
@oxpey4473
@oxpey4473 2 жыл бұрын
será por esto que dice el link que me pasaste? Apps Script projects 50 / day Email recipients per message 50 / msg
@JuanSGuzman
@JuanSGuzman 2 жыл бұрын
@@oxpey4473 Exacto. o te deja enviar mas de 50 en uno solo Más fácil hacerlo con un codigo masivo que lo mande uno por uno y ahi si puedes enviar los 100 en gratis y los 1500 en pago Saludos!
@MaLaBacHeLo
@MaLaBacHeLo 4 жыл бұрын
Cómo puedo programar un botón por hoja del libro de Google sheets?, o bien configurar con un botón para que envíe correos personalizados para todos los contactos separados en distintas hojas?
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Marcelo No se si te entiendo Tienes varias hojas con contactos y quieres un botón para cada hoja, así como una opción de enviar a todos los contactos de todas las hojas? Saludos!
@MaLaBacHeLo
@MaLaBacHeLo 4 жыл бұрын
@@JuanSGuzman Hola Juan, primero, agradezco tus videos, he aprendido mucho. Sobre la pregunta, sí, estoy pensando en un informativo que entregue la asistencia de los estudiantes, entonces en un libro de Google sheets tengo una base de datos donde cada hoja es un curso y mi idea es poder enviarle a todos el resumen de su asistencia. ¿Se puede programar ese proceso con un sólo botón?, ¿o debe ser con un botón por hoja? Saludos,
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Gracias por la explicación! Se podrian las dos Me imagino un boton en cada hoja, o un menu y que identifique la hoja en la que estas. En ese mismo menu pondriamos la opcion de enviar a todas las hojas Nos tocaria trabajarlo un poco, pero claro que se podria Un gran saludo!
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
@@MaLaBacHeLo Hola Marcelo, Puede ser con un solo botón. Nos tocaría ir por todas las hojas y hacer la misma función para cada hoja Aunque no tengo ese video específico, en este video de índice hablo de hojas y de como hacer un ciclo por todas las hojas. kzbin.info/www/bejne/qH7CoohmqMaGd9k Seria "mezclar" ese código con este Me cuentas cualquier cosa. Saludos!
@faqcardo6782
@faqcardo6782 3 жыл бұрын
hola Juan S Gusman me esta dando un error en esta linea y no logro entender el porque del error "contactos.forEach(funtion(fila){" agradeceria tu respuesta. Muchas graias
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola! Cambia funtion por function Saludos!
@XD5richard
@XD5richard 4 жыл бұрын
¿Algo similar de podría hacer con WhatsApp, en vez de un e-mail?
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Richard La verdad no estoy seguro Tengo que revisar la API de whatsapp Espero hacer un video de eso mas adelante si se puede (Se debe poder) Saludos
@ing.albertoramirez9773
@ing.albertoramirez9773 4 жыл бұрын
Hola Juan!, donde esta la funcion crear mensaje me perdí, de donde sale al variable datos?
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola! Mil disculpas. Esta es parte de una serie más larga (La verdad debí hacerlo mas independiente) Aquí te dejo las partes anteriores Enviar desde plantilla - kzbin.info/www/bejne/qH_JeYKmbbR7m7c Enviar con un boton - kzbin.info/www/bejne/aGmofp1jfNhseZo Enviar con un boton 2 - kzbin.info/www/bejne/nqGViGhnnrBlis0 Saludos!
@mairaalejandralugo5354
@mairaalejandralugo5354 4 жыл бұрын
Hola de nuevo juan. Muy bueno el vídeo como siempre, pero, me aparece este mensaje: TypeError: contactos.forEach is not a function (línea 107, archivo "Código"). Con respecto a la cuota diaria es posible que aparte de recibir un mensaje de notificación se pueda reactivar el envío al resto de email cuando haya cuota disponible y también si es posible hacer una función con un botón para detener el envío de correos, incluso con un enlace en la notificación por correo electrónico. Gracias
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola! Déjame ver todo el código para que encontremos el error. En cuanto a lo otro, yo creo que podemos hacer un check para saber cuáles envió hoy y de pronto poner un activador todos los días en la mañana por ejemplo, para que revise cuáles no se han enviado y los envíe automáticamente Lo de detener no estoy tan seguro. De pronto podemos es poner un mensaje de confirmación antes de enviarlos Saludos!
@robertomaldonado7438
@robertomaldonado7438 3 жыл бұрын
@@JuanSGuzman hola juan , me sale el mismo error que el compañero contactos.forEach is not a function te ddejo el codigo completo , desde ya muchas gracias ! } function enviarMailActual(){ //variables de configuracion const nombrebase = "BD" const filaencabezado = 1 const colcorreo = 1; const colnombre = 2; const coltelefono = 3; const colproducto = 4; const colfecha = 5; const colconfirmacion = 6; const colfechaenvio = 7; const mensajealerta = "No existe correo valido"; const mensajeexito = "Correo enviado Exitosamente"; const archivo = SpreadsheetApp.getActiveSpreadsheet(); var hoja = archivo.getActiveSheet(); var plantilla = archivo.getSheetByName("plantilla").getRange('A1').getValue(); var config = archivo.getSheetByName("configuracion"); var asunto = config.getRange('B2').getValue(); var nombrecorreo = config.getRange('B1').getValue(); if(hoja.getName()==nombrebase){ var activa = hoja.getActiveCell(); var filaActiva = activa.getRow(); if(filaActiva>filaencabezado){ var correo = hoja.getRange(filaActiva,colcorreo).getValue(); var nombre = hoja.getRange(filaActiva,colnombre).getValue(); var telefono = hoja.getRange(filaActiva,coltelefono).getValue(); var producto = hoja.getRange(filaActiva,colproducto).getValue(); var fecha = hoja.getRange(filaActiva,colfecha).getValue(); var mensaje = plantilla .replace("{nombre}",nombre) .replace("{producto}" ,producto) .replace("{fecha}" ,fecha) .replace("{telefono}" ,telefono) if(correo==""){ SpreadsheetApp.getUi().alert(mensajealerta) }else{ GmailApp.sendEmail(correo, asunto ,mensaje, {name:nombrecorreo}); hoja.getRange(filaActiva,colconfirmacion).setValue('OK'); hoja.getRange(filaActiva,colfechaenvio).setValue(new Date()); SpreadsheetApp.getUi().alert(mensajeexito); } }else{ SpreadsheetApp.getUi().alert("debe estar situado en uno de los contactos") //cierre if filaencabezado }}else{ SpreadsheetApp.getUi().alert("debe estar en la pestaña "+ nombrebase +" para enviar mail") } }// cierre if pestaña activa //funcion para multi correos function mailmerge(){ const nombredatos = "BD" const nombreconfig = "configuracion" var archivo = SpreadsheetApp.getActiveSpreadsheet(); var hoja = archivo.getSheetByName(nombredatos); var config = archivo.getSheetByName(nombreconfig); var contactos = hoja.getRange(2, 1, 5, 7).getValue(); var asunto = config.getRange('B2').getValue(); contactos.forEach(function(fila){ Logger.log(fila[0]); var mensaje = crearmensaje(fila); GmailApp.sendEmail(fila[0], asunto, mensaje); }) } function crearmensaje(datos){ var plantilla = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("plantilla").getRange('A1').getValue(); var mensaje = plantilla .replace("{nombre}",datos[1]) .replace("{producto}",datos[2]) .replace("{fecha}",datos[3]) .replace("{telefono}",datos[4]) return mensaje }
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@robertomaldonado7438 Hola Roberto Pone una "s" al final de esta linea (antes del parentesis y punto y coma) var contactos = hoja.getRange(2, 1, 5, 7).getValue(); Saludos!
@robertomaldonado7438
@robertomaldonado7438 3 жыл бұрын
@@JuanSGuzman te pasaste , eres el mejor! . la ultima duda , al momento de enviar el asunto el cual lo tengo con la fecha me sale de esta menera la entrega no se pudo realizar el dia Tue Jul 06 2021 00:00:00 GMT-0400 (Chile Standard Time) es posible solo dejarlo con jul 06 2021?
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
@@robertomaldonado7438 Hola Roberto Intenta cortar la fecha con el método .toLocaleDateString() Me cuentas Saludos!
@danielasandoval9
@danielasandoval9 4 жыл бұрын
Hola Juan! Muchas gracias por tus videos, los estoy aplicando a la par que los vas subiendo. Tengo una duda, si quisiera enviar el mismo mensaje a dos correos, cómo podría adicional el segundo? Por ejemplo: En la fila dos que está ubicado el cliente Sebastián, quiero enviar ese mismo correo con la misma plantilla y los mismos datos de Sebastián pero no solo al correo Guzman.sheets@gmail.com sino a otro adicional. No necesito que sea una copia oculta, simplemente que el mismo cuerpo del correo tenga dos destinatarios, en ese caso cómo podría realizarlo? Muchas gracias :)
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
Hola Daniela Es muy fácil! Simplemente en la variable "destinatario" inserta dentro de las comillas los correos que quieras, separados por comas Si los tienes en distintas celdas puedes concatenarlo en una sola variable. Por ejemplo, si lo tuvieras asi: en la celda A2 el primer mail en la celda A3 el segundo mail en la celda A4 el tercer mail el comando seria GmailApp.sendEmail(fila[0]+","+fila[1]+","+fila[2],asunto, mensaje) Si por otro lado, el correo 2 y 3 van a ser los mismos, entonces se los agregas GmailApp.sendEmail(fila[0]+",pedro@hotmail.com,info@paraguas.com"],asunto, mensaje) Mas facil aun, insertalos en tu columna A separados por coma, y te los deberia enviar a todos Me cuentas si te funciona Saludos!
@danielasandoval9
@danielasandoval9 4 жыл бұрын
Juan S Guzman Sí me funcionó con las comas, Juan. Muchísimas gracias!
@JuanSGuzman
@JuanSGuzman 4 жыл бұрын
@@danielasandoval9 Excelente! Me alegro!
@cindymolina4366
@cindymolina4366 3 жыл бұрын
No he podido, :( me aparece un error con el getRange
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Andrea Que error te sale Un gran saludo!
@MarcoMundarain
@MarcoMundarain 4 жыл бұрын
Wow, esto está increíble ¿Dónde puedo ver el código completo? No lo encuentro en la juansguzman.com/
@JuanSGuzman
@JuanSGuzman 3 жыл бұрын
Hola Marco No lo he subido aun al blog Aquí te lo dejo docs.google.com/spreadsheets/d/1TiZYn4vGPIWm2vPDjq4gwcRs8G_I1QTFsWyg6LnA8lk/copy Saludos!
@sinailopez7696
@sinailopez7696 Жыл бұрын
No logro entender en qué momento se dio declaró "datos" 🥲
@JuanSGuzman
@JuanSGuzman Жыл бұрын
Hola! En este caso "datos es un argumento de la función crearMensaje por lo que no hay que declararla Simplemente cuando llames a esa función tienes que darle un objeto En nuestro caso la llamaamos en la linea 104 asi crearMEnsaje(fila[0]) Tienes razón ue el tema de llamar funciones es un poco mas avanzado y no debí meterlo en este video. Me queda de enseñanza Saludos
381 Inventory with Forms 2025
29:12
Juan S Guzman
Рет қаралды 824
Send Personalized BULK Emails in Gmail (for FREE)!
6:50
Jeff Su
Рет қаралды 685 М.
Form in Google Sheets | Data Entry Form
13:35
raksrahul
Рет қаралды 20 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 301 М.
Mail Merge in Google Sheets & Gmail (for free)
12:52
Kevin Stratvert
Рет қаралды 825 М.