In questo articolo, creeremo una macro per inviare un foglio come allegato in un’e-mail.

Prima di eseguire la macro, è necessario specificare un ID e-mail e l’oggetto dell’e-mail.

ArrowMain

In questo esempio, vogliamo inviare “DataSheet” come allegato nell’e-mail.

ArrowSentMail

Spiegazione logica

Abbiamo creato la macro “Foglio di posta”, che prende l’ID e l’oggetto dell’email dalle caselle di testo. Crea una nuova copia di “DataSheet”, la salva e la invia come allegato.

Spiegazione del codice

Fogli (“DataSheet”) Copia Il codice sopra è utilizzato per creare una copia di “DataSheet” in una nuova cartella di lavoro.

ActiveWorkbook.SaveAs “Part of” & ThisWorkbook.Name _ & “” & StrDate & “.xls”

Il codice sopra viene utilizzato per salvare la nuova cartella di lavoro.

ActiveWorkbook.SendMail EmailID, MailSubject Il codice sopra viene utilizzato per inviare la cartella di lavoro attiva come allegato all’ID e-mail specificato, con l’oggetto specificato.

ActiveWorkbook.Close False Il codice precedente viene utilizzato per chiudere la cartella di lavoro attiva senza salvarla.

Segui sotto per il codice

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

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]