Trimiteți o foaie prin VBA în Microsoft Excel

Anonim

În acest articol, vom crea o macro pentru a trimite o foaie ca atașament într-un e-mail.

Înainte de a rula macrocomanda, trebuie să specificăm un id de e-mail și un subiect al e-mailului.

În acest exemplu, dorim să trimitem „Foaie de date” ca atașament în e-mail.

Explicație logică

Am creat macrocomanda „MailSheet”, care preia codul de e-mail și subiectul e-mailului din casetele de text. Se creează o nouă copie a „DataSheet”, o salvează și o trimite ca atașament.

Explicarea codului

Foi de calcul („Foaie de date”). Copiați

Codul de mai sus este utilizat pentru a crea o copie a „DateSheet” într-un nou registru de lucru.

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

& "" & StrDate & ".xls"

Codul de mai sus este utilizat pentru a salva noul registru de lucru.

ActiveWorkbook.SendMail EmailID, MailSubject

Codul de mai sus este utilizat pentru a trimite registrul de lucru activ ca atașament la ID-ul de e-mail specificat, cu subiectul dat.

ActiveWorkbook.Închide False

Codul de mai sus este utilizat pentru a închide registrul de lucru activ fără a-l salva.

Vă rugăm să urmați codul de mai jos

 Sub MailSheet () 'Declararea variabilelor Dim StrDate, EmailID, MailSubject As String' Obținerea valorii pentru ID-ul de e-mail și subiectul din casetele de text EmailID = Sheet1.TextBox1.Value MailSubject = Sheet1.TextBox2.Value 'Copierea "Foaiei de date" în foile de registru de lucru noi (" Foaie de date "). Copiați 'Formatarea datei și orei la un anumit format StrDate = Format (Data," dd-mm-yy ") &" "& Format (Time," h-mm ")' Salvarea registrului de lucru activ cu noul nume ActiveWorkbook. SaveAs "Part of" & ThisWorkbook.Name _ & "" & StrDate & ".xls" 'Trimiterea e-mailului ActiveWorkbook.SendMail EmailID, MailSubject' Închideți registrul de lucru activ ActiveWorkbook.Închideți False End Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail