Table des matières
Dans cet article, nous allons vous montrer 5 Macro à envoyer l'email de Excel Pour démontrer nos méthodes, nous avons sélectionné un ensemble de données avec 3 colonnes : " Nom ", " Courriel : ", et " Ville ".
Télécharger le cahier d'exercices
Utilisation d'une macro pour envoyer un courriel.xlsm5 façons d'utiliser une macro pour envoyer un courriel à partir d'Excel
1. utilisation de la bibliothèque d'objets d'Outlook pour envoyer un courriel
Pour le premier Macro nous allons activer " Bibliothèque d'objets de Microsoft Outlook 16.0 " à envoyer un e-mail de Excel De plus, nous devons nous connecter à notre site Web. Outlook compte en Excel .
Des pas :
Au début, nous allons faire remonter les Visual Basic fenêtre.
- Tout d'abord, de la Développeur onglet>>> ; sélectionner Visual Basic .
Vous pouvez également appuyer sur ALT + F11 pour afficher le VBA fenêtre.
- Deuxièmement, de Outils >>> ; select " Références... ".
Une nouvelle boîte de dialogue apparaîtra.
- Troisièmement, sélectionnez " Bibliothèque d'objets de Microsoft Outlook 16.0 "et appuyez sur OK .
Ainsi, nous allons permettre Bibliothèque d'objets Outlook .
- Ils sont de Insérer >>> ; sélectionner Module .
Nous allons taper notre code ici.
- Après cela, tapez le code suivant.
Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'Ces éléments sont facultatifs 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Sending Email using VBA from Excel" eItem.Body = "Hello," & ; vbNewLine & ;"J'espère que cet e-mail vous trouvera bien." & ; _ vbNewLine & ; vbNewLine & ; _ "Sincèrement," & ; vbNewLine & ; "Exceldemy" 'Si vous voulez joindre ce classeur, alors décommentez ces deux lignes ci-dessous 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'peut utiliser .Send End Sub
Découpage du code VBA
- Tout d'abord, nous appelons notre Sous-procédure Macro_Send_Email .
- Deuxièmement, nous déclarons le variable types.
- Troisièmement, nous sélectionnons Outlook comme notre Demande par courrier .
- Ensuite, nous sélectionnons notre e-mail adresse d'envoi de cellule C5 .
- Après cela, le e-mail est défini dans notre code.
- Enfin, " Propriété d'affichage VBA "est utilisé ici pour afficher notre e-mail Par conséquent, nous devrons appuyer sur Envoyer manuellement pour envoyer le site courriels De plus, nous pouvons utiliser " Envoyer la propriété " à envoyer des e-mails sans l'afficher.
- Après ça, Sauvez et fermer le Module .
Maintenant, nous allons Exécuter le code.
- Tout d'abord, de la Développeur onglet>>> ; sélectionner Macros .
Le site Boîte de dialogue Macro apparaîtra.
- Deuxièmement, sélectionnez notre Sous-procédure " Macro_Send_Email ".
- Enfin, appuyez sur Exécuter .
Après avoir exécuté le code, nous verrons l'image suivante e-mail Nous pouvons cliquer sur Envoyer Ainsi, nous vous avons montré la première méthode pour envoi de un e-mail de excel en utilisant VBA .
Lire la suite : Envoyer un courriel à partir d'Excel VBA sans Outlook (4 exemples concrets)
Macro pour l'envoi d'un courriel à partir d'un compte Gmail dans Excel
Pour cette méthode, nous avons besoin un accès moins sécurisé aux applications de la Gmail De plus, nous devrons activer l'option CDO de Microsoft de la Références menu.
Des pas :
- Tout d'abord, comme indiqué dans la première méthode pour faire apparaître le Boîte de dialogue Références .
- Ensuite, sélectionnez " Bibliothèque Microsoft CDO pour Windows 2000 "et appuyez sur OK .
- Troisièmement, allez sur Sécurité de votre Paramètres du compte Google .
- Enfin, activez Accès aux applications moins sécurisé .
Maintenant, nous allons entrer notre Macro code.
- Tout d'abord, comme indiqué dans la méthode 1 pour faire apparaître le Module et tapez ce code.
Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Macro pour envoyer Gmail" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. Ceci est un message automatisé. Veuillez ne pas répondre" Set cMail =CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With cMail Set .Configuration = cConfig End With cMail.Subject =cSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling : If Err.Description "" Then MsgBox Err.Description End Sub
Découpage du code VBA
- Tout d'abord, nous appelons notre Sous-procédure Envoyer_Gmail_Macro .
- Deuxièmement, nous déclarons le variable types.
- Troisièmement, nous fixons le e-mail dans notre code.
- Ensuite, nous fournissons notre informations d'identification Vous devez taper votre propre ID et Mot de passe ici.
- Après cela, nous avons mis en place port à 465 .
- Enfin, nous sommes envoi de notre e-mail .
- Ensuite, Sauvez et Exécuter ce code.
Nous avons réussi à envoyé un e-mail à notre adresse.
Lire la suite : Macro pour envoyer un email depuis Excel avec un corps (3 cas utiles)
3. envoyer un courriel à une liste de destinataires à partir d'une colonne
Pour la troisième méthode, nous allons envoyer des e-mails à 7 personnes utilisant Macro de Excel Nous trouverons le dernier rangée de notre ensemble de données, donc notre code fonctionnera pour une liste plus longue. Nous allons envoyer des e-mails de la cellule C5:C10 gamme.
Des pas :
- Tout d'abord, comme indiqué dans la méthode 1 pour faire apparaître le Module et tapez ce code.
Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = "" For z = 5 To eRow If eList = "" Then eList = Cells(z, 3).Value Else eList = eList & ; " ;" & ; Cells(z,3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "Ce message vous est apporté par Exceldemy." .Display 'Vous pouvez utiliser .Send ici End With Set pMail = Nothing Set pApp = Nothing End Sub
Découpage du code VBA
- Tout d'abord, nous appelons notre Sous-procédure Macro_Send_Email_From_A_List .
- Deuxièmement, nous déclarons le variable types.
- Troisièmement, nous sélectionnons Outlook comme notre Demande par courrier .
- Ensuite, nous trouvons le dernier rang qui est 10 pour notre jeu de données.
- Après cela, comme notre e-mail à partir de rang 5 nous avons saisi 5 comme valeur de départ pour " variable z ". De plus, notre courriels sont sur le C colonne et nous avons donc introduit 3 à l'intérieur de la Cellules propriété.
- Ensuite, nous mettons le e-mail dans notre code.
- Enfin, " .affichage "est utilisé ici pour afficher notre e-mail Par conséquent, nous devrons appuyer sur Envoyer manuellement pour envoyer le site courriels De plus, nous pouvons utiliser " .envoyer " à envoyer l'email sans l'afficher.
- Ensuite, Sauvez et Exécuter le site Module .
Nous pouvons voir que toutes nos courriels sont affichés dans BCC En conclusion, nous pouvons simplement appuyer sur Envoyer pour accomplir notre tâche.
Lire la suite : Comment envoyer un courriel à partir d'une liste Excel (2 façons efficaces)
Lectures similaires
- Comment envoyer automatiquement un courriel lorsque la condition est remplie dans Excel ?
- Comment partager un fichier Excel en ligne (2 méthodes simples)
- Envoyer automatiquement un courriel de rappel à partir d'une feuille de calcul Excel à l'aide de VBA
- Comment envoyer un courriel si les conditions sont remplies dans Excel (3 méthodes faciles)
- Comment activer le partage de classeur dans Excel
4. Macro pour envoyer une seule feuille par courriel
Dans cette section, nous allons envoyer le site Feuille de travail active à notre personne cible. Ici, nous devrons choisir l'emplacement de notre Excel fichier.
Des pas :
- Tout d'abord, comme indiqué dans la méthode 1 pour faire apparaître le Module et tapez ce code.
Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & ; fxName On Error GoTo 0 zBook.SaveAsFileName:="C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & ; fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Macro to Send Single Sheet via Email" .Body = "Dear RecieverName," & ; vbCrLf & ; vbCrLf & ; _ "Your requested file is attached" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub
Découpage du code VBA
- Tout d'abord, nous appelons notre Sous-procédure Macro_Email_Simple_Sheet .
- Deuxièmement, nous déclarons le variable types.
- Troisièmement, nous copions le Feuille active et l'enregistrer dans un fichier séparé Cahier d'exercices .
- Après cela, nous sélectionnons Outlook comme notre Demande par courrier .
- Ensuite, nous mettons le e-mail dans notre code.
- Après cela, nous avons attaché le Feuille à la e-mail .
- Enfin, utilisez " .affichage "pour afficher notre e-mail Par conséquent, nous devrons appuyer sur Envoyer manuellement pour envoyer le site courriels De plus, nous pouvons utiliser " .envoyer " à envoyer l'email sans l'afficher.
- Ensuite, Sauvez et Exécuter le site Module .
Nous allons voir le Feuille dans la fenêtre. Appuyez sur Envoyer pour accomplir la tâche.
Nous pouvons ouvrir le fichier et vérifier que notre code fonctionne.
Lire la suite : Comment envoyer une feuille de calcul Excel modifiable par courriel (3 méthodes rapides)
Macro pour envoyer un email basé sur la valeur d'une cellule
Pour la dernière méthode, nous avons légèrement modifié notre jeu de données en ajoutant le " Paiement Due " colonne à l'ensemble des données. Ici, nous allons envoyer un e-mail qui contient la ville " Obama ". Nous pouvons clairement voir que rang 5 le contient, donc nous allons envoyer un e-mail à cette personne uniquement.
Des pas :
- Tout d'abord, comme indiqué dans la méthode 1 pour faire apparaître le Module et tapez ce code.
Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName =.Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body ="Mr./Mme. " & ; eName & ; ", Veuillez payer le montant dû la semaine prochaine" _ & ; vbNewLine & ; "Le montant exact est joint à cet email" .Attachments.Add ActiveWorkbook.FullName 'Send The File via Email .Display 'Nous pouvons utiliser .Send ici aussi End With Set pMail = Nothing Set pApp = Nothing End Sub
Découpage du code VBA
- Tout d'abord, nous appelons notre premier Sous-procédure Condition d'envoi d'e-mail .
- Deuxièmement, nous déclarons le Variable types et réglage " Conditions " comme notre Feuille .
- Troisièmement, le dernier rangée est trouvé. De plus, notre valeur commence à partir de rang 5 donc nous avons mis rang 5 jusqu'au dernier rangée dans notre code.
- Ensuite, appelez notre deuxième Sous-procédure Envoyer_Email_avec_condition_multiple .
- Après cela, nous sélectionnons Outlook comme notre Demande par courrier .
- Ensuite, le e-mail est défini dans notre code.
- Ici, nous attachons le Excel avec le fichier e-mail en utilisant le Pièce jointe méthode.
- Après cela, " .affichage "est utilisé ici pour afficher notre e-mail Par conséquent, nous devrons appuyer sur Envoyer manuellement pour envoyer le site courriels De plus, nous pouvons utiliser " .envoyer " à envoyer l'email sans l'afficher.
- Ensuite, Sauvez et Exécuter le site Module .
En conclusion, nous vous avons montré une autre méthode de envoi de un e-mail en utilisant Macro VBA de Excel .
Lire la suite : Envoyer automatiquement des e-mails depuis Excel en fonction du contenu des cellules (2 méthodes)
Section pratique
Nous avons ajouté des ensembles de données d'entraînement pour chaque méthode dans la section Excel fichier.
Conclusion
Nous vous avons montré 5 méthodes à utiliser Macro à envoyer un e-mail de Excel Merci de votre lecture, continuez à exceller !