Wyślij arkusz za pomocą VBA w programie Microsoft Excel

Anonim

W tym artykule stworzymy makro do wysłania arkusza jako załącznika w wiadomości e-mail.

Przed uruchomieniem makra musimy określić id i temat e-maila.

W tym przykładzie chcemy wysłać „DataSheet” jako załącznik do wiadomości e-mail.

Wyjaśnienie logiczne

Stworzyliśmy makro „MailSheet”, które pobiera identyfikator i temat wiadomości e-mail z pól tekstowych. Tworzy nową kopię „DataSheet”, zapisuje ją i wysyła jako załącznik.

Wyjaśnienie kodu

Arkusze("Arkusz danych").Kopiuj

Powyższy kod służy do tworzenia kopii „DataSheet” w nowym skoroszycie.

ActiveWorkbook.SaveAs "Część" & ThisWorkbook.Name _

& " " & StrData & ".xls"

Powyższy kod służy do zapisywania nowego skoroszytu.

ActiveWorkbook.SendMail EmailID, MailSubject

Powyższy kod służy do wysłania aktywnego skoroszytu jako załącznika do określonego identyfikatora e-mail, o podanym temacie.

ActiveWorkbook.Zamknij Fałsz

Powyższy kod służy do zamykania aktywnego skoroszytu bez jego zapisywania.

Proszę postępować zgodnie z poniższym kodem!

 Sub MailSheet() 'Deklarowanie zmiennych Dim StrDate, EmailID, MailSubject As String 'Pobieranie wartości identyfikatora i tematu wiadomości e-mail z pól tekstowych EmailID = Sheet1.TextBox1.Value MailSubject = Sheet1.TextBox2.Value 'Kopiowanie "DataSheet" do nowego skoroszytu Sheets(" DataSheet").Copy 'Formatowanie daty i godziny do określonego formatu StrDate = Format(Data, "dd-mm-rr") & " " & Format(Godzina, "h-mm") 'Zapisywanie aktywnego skoroszytu pod nową nazwą ActiveWorkbook. SaveAs "Część " & ThisWorkbook.Name _ & " " & StrDate & ".xls" 'Wysyłanie poczty ActiveWorkbook.SendMail EmailID, MailSubject 'Zamknij aktywny skoroszyt ActiveWorkbook.Close False End Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail