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