Dans cet article, nous allons créer une macro pour envoyer une feuille en pièce jointe dans un e-mail.

Avant d’exécuter la macro, nous devons spécifier un identifiant d’e-mail et un objet de l’e-mail.

ArrowMain

Dans cet exemple, nous voulons envoyer « DataSheet » en tant que pièce jointe dans l’e-mail.

ArrowSentMail

Explication logique

Nous avons créé une macro «MailSheet», qui prend l’identifiant et le sujet de l’e-mail dans les zones de texte. Il crée une nouvelle copie de «DataSheet», l’enregistre et l’envoie en pièce jointe.

Explication du code

Sheets (« DataSheet »). Copier Le code ci-dessus est utilisé pour créer une copie de « DataSheet » dans un nouveau classeur.

ActiveWorkbook.SaveAs « Part of » & ThisWorkbook.Name _ & «  » & StrDate & « .xls »

Le code ci-dessus est utilisé pour enregistrer le nouveau classeur.

ActiveWorkbook.SendMail EmailID, MailSubject Le code ci-dessus est utilisé pour envoyer le classeur actif en tant que pièce jointe à l’ID de messagerie spécifié, avec l’objet donné.

ActiveWorkbook.Close False Le code ci-dessus est utilisé pour fermer le classeur actif sans l’enregistrer.

Veuillez suivre ci-dessous pour le code

Sub MailSheet()

'Declaring variables

Dim StrDate, EmailID, MailSubject As String

'Getting value for Email ID and subject from textboxes

EmailID = Sheet1.TextBox1.Value

MailSubject = Sheet1.TextBox2.Value

'Copying "DataSheet" to new workbook

Sheets("DataSheet").Copy

'Formatting date and time to particular format

StrDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm")

'Saving active workbook with new name

ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _

& " " & StrDate & ".xls"

'Sending mail

ActiveWorkbook.SendMail EmailID, MailSubject

'Close the active workbook

ActiveWorkbook.Close False

End Sub

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]