Invia un foglio utilizzando VBA in Microsoft Excel
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.
In questo esempio, vogliamo inviare “DataSheet” come allegato nell’e-mail.
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]