No video

Wysyłanie maili w Excelu za pomocą VBA

  Рет қаралды 11,909

SmartExcel - Sebastian Godziszewski

SmartExcel - Sebastian Godziszewski

Күн бұрын

Oglądając film dowiesz się jak w Excelu za pomocą VBA wysyłać maile. Zostanie w tym celu uruchomiony program Microsoft Outlook, w którym utworzymy wiadomość a następnie uzupełnimy wszystkie niezbędne pola.
Zaczniemy od wysyłki podstawowego maila a następnie zostanie przygotowane narzędzie do hurtowej wysyłki maili. Zapraszam do oglądania :)
ZAPRASZAM NA KAWĘ!
Jeżeli film ci się podobał i uważasz ten materiał za wartościowy, możesz postawić mi kawę :)
buycoffee.to/s...
Poniżej link do pobrania pliku, który został użyty w filmie:
smartexcel.pl/...

Пікірлер: 55
@19artur69
@19artur69 10 ай бұрын
Super lekcja, zwięźle i na temat. Bardzo dziękuję za Twoją pracę.
@djboskiprzemo
@djboskiprzemo 7 ай бұрын
Sebastianie! Zmieniłeś tym filmem mój tydzień pracy z 5 dni na 4 :) Wielkie dzięki!
@mmarcin80
@mmarcin80 Жыл бұрын
Dobra robota. Dobrze sie slucha. Fajnie tlumaczysz.. keep up good work
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuję za komentarz.
@user-nw1ot6er2x
@user-nw1ot6er2x 7 ай бұрын
Sebastianie, makro działa bardzo dobrze. Czy jest jakiś sposób żeby załączać do każdego maila domyślną stopkę z Outlook w formacie HTML z obrazkami w niej zawartymi?
@tomash1772
@tomash1772 3 ай бұрын
Wszystko super, zabrakło natomiast jak załączyć w body nie jedną komórkę, a kilka np tabelę 3x3, zwykłą, statyczną.
@user-ub5mq9dc6f
@user-ub5mq9dc6f 8 ай бұрын
Fimik petarda, świetnie wytłumaczone, po prostu top :D a czy można się dowiedzieć, w jaki sposób wstawić obraz jpg albo png do treści maila oraz żeby na samym końcu była stopka, która jest zapisana w outlook?
@andrzej7531
@andrzej7531 3 ай бұрын
Super instruktaż! Tylko takie mam małe pytanie? Jak zrobić, aby w treści wiadomości zamieścić wartości z kilku komórek? Potrzebuję zrobić wiadomość o takiej samej treści, jednak cyfra zawarta w środku musi być inna do wszystkich (podana w innej komórce). Ktoś doradzi jak to zrobić? :)
@majaroszuk
@majaroszuk 8 ай бұрын
Swietny materiał. Mam pytanie, czy jest mozliwość dodawania załączników z dysku z konkretnego folderu ale tylko i wyłącznie na podstawie daty modyfikacji? Czyli jesli w folderze co miesiąc przybywają 2 nowe pliki, czy jest możliwosc wysłania tylko 2 z bierzącego miesiąca i ponawiać to co miesiąc?
@lvz4219
@lvz4219 10 ай бұрын
Super filmik, super tłumaczenie :) a jest możliwość wysłania w mailu zawartości pliku ( np tabelki ) bez załączania pliku ?
@M.A.G.N.E.T.E.R
@M.A.G.N.E.T.E.R Жыл бұрын
Niezwykle przydatne :)
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuję :)
@user-of5gz7bi6k
@user-of5gz7bi6k 10 ай бұрын
Mega nagranie! Czy można wybierać sobie skrzynkę z której ma być wysłana wiadomość? W outlooku posiadam dwie.
@ewamakowska4349
@ewamakowska4349 Ай бұрын
Jakie napisać polecenie, żeby treść maila została pobrana z kilku komórek arkusza
@werczyk
@werczyk Жыл бұрын
Świetnie Pan tłumaczy! Jestem w szoku jak to szybko zadziałało :o Mam pytanie - jeśli w Outlooku mam podpięte 2 konta pocztowe, to czy jestem w stanie w kodzie zawrzeć z którego konta chcę wysłać wiadomość?
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dzień dobry, dziękuję za komentarz. Odpowiadając na pytanie, to jak najbardziej możemy w kodzie zawrzeć instrukcje, które będą zmieniać konta przed wysłaniem. Zapraszam do najnowszego filmu, w którym pokazuje jak to zrobić :) kzbin.info/www/bejne/o2fHqmmMos6oY7s Pozdrawiam
@marcincieslak4031
@marcincieslak4031 10 ай бұрын
Super film i tlumaczenie. A jak to wyglada gdy chce odniesc sie do zalacznika x onedribe lub sharepoint ktorego adres jest w komorce excel? Czy moge w jakis sposob dodac zalacznik z chmury bo w tym momencie nie zalacza mi nic w takim przyadku?
@michalszymanski1897
@michalszymanski1897 11 ай бұрын
Witam, Super sprawa, tylko mam problem gdy chcę wysłać aktualny Plik w którym znajduje się to makro jak stworzyć załącznik jako kopię ?
@piotrrak2897
@piotrrak2897 10 ай бұрын
Dzień dobry jest chyba jeszcze inny problem zauważyłem że załączniki muszą być umieszczone w tym samym katalogu podając dwie różne ścieżki do załączników występuje błąd. Można jakoś temu zaradzić?. Proszę o pomoc.
@piotrrak2897
@piotrrak2897 10 ай бұрын
Super!! ale co zrobić jeżeli mam alfabetycznie uporządkowaną listę osób ale nie wszyscy mają maila wtedy napotykając brak adresu program nie idzie dalej i nie sprawdza kolejnych pozycji proszę o pomoc.
@omariscoming5018
@omariscoming5018 Жыл бұрын
nie wyswietla mi polskich znakow w tytule/body maila. pewnie przez ustawienia systemu/kodowanie natomiast nie moge dojsc co trzeba zmienic.
@radek6119
@radek6119 Жыл бұрын
Super. Bardzo fajnie wytłumaczone i w prosty sposób. Wykorzystałem Pana kod u siebie, strasznie ułatwił mi pracę.Mam prośbę, czy może Pan pokazać jak zrobić warunek, który wyszukuje komórkę z przekroczoną datą do aktualnej i wstawia tylko taką komórkę do makra z prezentowanego przykładu. Na powyższym przykładzie makro wysyła każdy wiersz, chciałbym mieć tylko ten, który spełnia warunek daty i wtedy nastąpi wysłanie maila. Z góry dziękuję za pomoc. Pozdrawiam serdecznie
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuję za komentarz. W przypadku sprawdzenia daty potrzebna jest instrukcja warunkowa IF. Należy ją umieścić zaraz za rozpoczynającą się pętlą FOR NEXT. Instrukcja sprawdza czy data w komórce np. Range("A" & i+1) jest większa od aktualnej Now(). (Now = TERAZ(), Date() = DZIŚ()) Przykład: For i = 1 To Application.WorksheetFunction.CountA(Arkusz1.Range("B2:B20")) If Arkusz1.Range("A" & i + 1) > Now Then ' Sprawdzane komórki z kolumny A to daty, które wraz z powiększeniem zmiennej "i" przechodzą do następnej komórki dzięki pętli. 'tutaj cały kod tworzący i wysyłający maile End If Next i Pozdrawiam
@radek6119
@radek6119 Жыл бұрын
Dziękuję za pomoc. Sprawdziłem i makro działa bez problemów. Czekam na następne tutoriale. Pozdrawiam serdecznie.
@maciejbielecki838
@maciejbielecki838 Жыл бұрын
Super nagranie. Mam pytanie, czy będzie nagranie (jeśli to możliwe oczywiście), w którym np zostanie pokazane jak Tworzyć automatycznie załączniki z danych w excelu. W pliku excel mam tabelę osób (np 10, Imię i nazwisko oraz Pełna nazwa), każda z osób ma przypisanych podwładnych + ich stanowisko. Do tej pory robiłem to tak, że nagrałem makro jak filtruję po osobie, kopiuję dane do osobnego arkusza, potem zedytowałem makro do 10 osób (pętli jeszcze nie ogarnąłem do tego). A następnie już ręcznie tworzę kopię arkusza jako plik. To dość manualne i dla 10 osób jest ok. ale czy da się tak zrobić z założeniem, że nazwa pliku będzie składała sie z wartości z komórki C (np dział) + Pierwsze 3 litery imienia i nazwiska + DZIŚ()?.
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dzięki za komentarz :) Jeśli chodzi o nagranie, które tworzy automatyczne załączniki to muszę przyznać, że na kanale jest kilka filmów, które po obejrzeniu powinny "nakierować" na takie rozwiązanie. Przykładowe dwa filmy, które będą pomocne to: kzbin.info/www/bejne/gJ6ypGyCqrCFbpY kzbin.info/www/bejne/oqiumGpneZp9o9E Oczywiście jest ich dużo więcej :) Rozwiązanie, o którym Pan wspomina to fajne wyzwanie w VBA ponieważ porusza ono wiele różnych zagadnień. Ps. jeżeli otrzymam strukturę pliku z przykładowymi danymi to postaram się taki film przygotować :) Pozdrawiam
@katbar90
@katbar90 Жыл бұрын
Witam. Bardzo prosto wytłumaczone! Ogromnie ułatwi mi to prace. Będę miała do wysłania 300 maili, pod każdy muszę podpiąć inny załącznik (pdf z oświadczeniem). Jest jakiś sposób na automatyczne dodatnie źródła załącznika?
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuje za komentarz. Rozwiązań może być wiele. Wszystko zależy od struktury arkusza w Excelu a także jak podpisane są pliki, które będą źródłem załącznika. Można użyć VBA ale w tym przypadku wystarczy Power Query do wczytania plików z folderu do osobnego arkusza a następnie przyporządkować te ścieżki do docelowego arkusza. Musimy wyszukać (funkcja WYSZUKAJ.PIONOWO, X.WYSZUKAJ, INDEKS+PODAJ.POZYCJĘ) wspólny identyfikator dla tych danych, który jeżeli nie jest jednoznaczny można skorzystać z narzędzia wypełnianie błyskawiczne (Flash Fill), wyszukiwanie z użyciem symboli wieloznacznych ("*", "?") lub innych funkcji predefiniowanych w Excelu. Pozdrawiam
@katbar90
@katbar90 Жыл бұрын
@@smartexcel-s.godziszewski Bardzo dziękuję :)
@mariuszgoska
@mariuszgoska Жыл бұрын
top
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuję za komentarz :)
@sawomirwasilewski2979
@sawomirwasilewski2979 Жыл бұрын
Mam plik XLS w którym są terminy wykonania pewnych rzeczy. Ponieważ by kontrolować je trzeba plik otworzyć i ręcznie sprawdzić więc zdarza się, że pewne rzeczy przegapię. O ile ten plik otwierany jest tylko czasami to Outlooka używam codziennie. Po obejrzeniu Pana szkolenia przyszło mi do głowy by po otwarciu Outlooka otwierał sobie ten plik odpytał połę data i wysłał email z przypomnieniem lub dodał informację w kalendarzu. Jest to możliwe, jeżeli tak to jak to zrobić?
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dziękuję za komentarz. Wydaję mi się, że dobrym sposobem będzie napisanie makra bezpośrednio w programie Outlook i dodanie go na wstążkę. Makro musi powołać obiekt dotyczący aplikacji Excel do "życia" w celu uruchomienia konkretnego pliku a następnie wykonać makro, które wyśle plik z przypomnieniem (coś na wzór w filmie). Pozdrawiam
@maciejson666
@maciejson666 7 ай бұрын
Czy udało się panu napisać takie makro. ?
@esterraful
@esterraful Жыл бұрын
juz przy tworzeniu pierwszej zmiennej Dim Oap as Outlook.Application mam bład "User-defined type not defined". jak to pokonac?
@esterraful
@esterraful Жыл бұрын
udalo się obejść Dim Oap As Object Dim Omail As Object Set Oap = CreateObject("Outlook.Application") Set Omail = Oap.CreateItem(0)
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
A czy ma Pan włączoną bibliotekę, o której wspominam na początku filmu? W oknie VBE (edytor Visual Basic) w menu TOOLS należy wybrać REFERENCES a następnie zaznaczyć (dodać) bibliotekę Microsoft Office 16.0 Object Library.
@ewelinaanczewska1480
@ewelinaanczewska1480 Жыл бұрын
Mam ten sam komunikat pomimo włączonej biblioteki :/
@esterraful
@esterraful Жыл бұрын
@@smartexcel-s.godziszewski z tej strony akurat Pani :) tak, mialam wlaczona biblioteke, ale jak wspomnialam w powyzszym udalo sie delikatnie zmodyfikowac kod.
@j.szevczyk857
@j.szevczyk857 Жыл бұрын
Mam problem, gdy chcę zrobić, aby w treści wiadomości znalazła się zawartość kilku komórek z zakresu F4, do ostatniej niepełnej to wyskakuje błąd. Chciałbym wiedzieć, czy jest to możliwe do zrobienia. Z góry dziękuję za odpowiedź.
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Dzięki za komentarz. Tak jest to możliwe do zrobienia. Należy podejść do tematu tak, że używając pętli np. For Next lub For Each Next połączyć zawartość z kilku (dowolnej ilości wierszy/komórek) komórek wstawiając je do zmiennej. Np. coś takiego: Dim zawartosc As String, i As Integer For i = 1 To 5 zawartosc = zawartosc & Range("A" & i) & vbNewLine Next i Oczywiście jest to prosty przykład i należy go dostosować pod własne potrzeby a nawet rozbudować :). Kolejny krok to użycie tej zmiennej jako wartości odpowiadającej za treść wiadomości. Pozdrawiam
@j.szevczyk857
@j.szevczyk857 Жыл бұрын
@@smartexcel-s.godziszewski Dziękuję bardzo za odpowiedź, wszystko elegancko działa :D
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
@@j.szevczyk857 Super :) Pozdrawiam
@grzesiom
@grzesiom Жыл бұрын
A jest jakaś prosta metoda na wstawienie do maila pod body tabeli z arkusza?
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Aby w mailu została zawarta tabela, wykorzystałbym do tego język znaczników HTML za pomocą, którego np. w pętli (lub tablicy) zbudujemy samodzielnie tabele a następnie umieścimy ją we właściwości .HTMLBody zamiast .Body Tak jak wspomniałem na początku, język HTML pozwoli nam wtedy budować tabelki w Excelu i umieszczać je w treści maila a nie w załączniku. Przykład takiego maila poniżej: Option Explicit Sub wysylanieMaila() Dim rng As Range, cell As Range, ZawartoscHtml As String, i As Long, j As Long 'Ustawiamy zakres tabeli do wstawienia w mailu Set rng = Arkusz1.Range("A1:H" & Arkusz1.Range("a1").CurrentRegion.Rows.Count) 'Zmienna, która rozpoczyna składnie HTML ZawartoscHtml = " " 'Pętla, która pobiera wiersze i kolumny, tworząc jednocześnie tabelę For i = 1 To Arkusz1.Range("a1").CurrentRegion.Rows.Count ZawartoscHtml = ZawartoscHtml & "" For j = 1 To Arkusz1.Range("a1").CurrentRegion.Columns.Count ZawartoscHtml = ZawartoscHtml & "" & Cells(i, j).Value & "" Next ZawartoscHtml = ZawartoscHtml & "" Next ZawartoscHtml = ZawartoscHtml & "" 'Tworzymy zmienne Dim Oap As Outlook.Application Dim Omail As Object 'UstawiamyZmienne Set Oap = New Outlook.Application Set Omail = Oap.CreateItem(0) With Omail .To = "kontakt@smartexcel.pl" .CC = "kontakt@smartexcel.pl" .Subject = "Wiadomość testowa" .HTMLBody = ZawartoscHtml .Send End With 'Oczyszczanie pamięci Set Oap = Nothing Set Omail = Nothing End Sub Powodzenia
@grzesiom
@grzesiom Жыл бұрын
​@@smartexcel-s.godziszewski Dzięki, udało mi się wstawić tabele przez WordDocument, ale działa jakoś wolno i długo myśli,bo maili generuje około 30. Pokombinuję z htmlem na pewno będzie szybciej działać.
@m1sio
@m1sio Жыл бұрын
Chciałbym się zapytać co należy zmienić w kodzie tak aby w mailu była również sygnatura? Czy jest to możliwe do osiągnięcia?
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Tak jest to możliwe do osiągnięcia. Kod należy rozbudować np. o pobieranie z odpowiedniej ścieżki własnej sygnatury. Proszę przeanalizować poniższy kod: Option Explicit Sub wysylanieMaila() 'Tworzymy zmienne Dim Oap As Outlook.Application Dim Omail As Object 'UstawiamyZmienne Set Oap = New Outlook.Application Set Omail = Oap.CreateItem(0) Dim SigString As String, Signature As String SigString = Environ("appdata") & _ "\Microsoft\Signatures\Podpis1.htm" ' w tym miejscu należy wpisać nazwę własną pliku. Ścieżka: C:\Users\sgodz\AppData\Roaming\Microsoft\Signatures azwa_wlasna_pliku.htm If Dir(SigString) "" Then Signature = PobierzSyg(SigString) Else Signature = "" End If 'SMARTEXCEL.PL (kontakt@smartexcel.pl) With Omail .To = "kontakt@smartexcel.pl" .CC = "kontakt@smartexcel.pl" '.BCC = .Subject = "Wiadomość testowa" '.Body = "To jest przykładowy mail przygotowany w Excel VBA" & Signature .HTMLBody = "To jest przykładowy mail przygotowany w Excel VBA" & Signature .Attachments.Add "C:\Users\sgodz\Documents\EXCEL - VBA3\Załącznik1.xlsx" .Display ' tylko wyświetlamy '.Send End With 'Oczyszczanie pamięci Set Oap = Nothing Set Omail = Nothing End Sub Function PobierzSyg(ByVal Plik As String) As String Dim fso As Object Dim sg As Object Set fso = CreateObject("Scripting.FileSystemObject") Set sg = fso.GetFile(Plik).OpenAsTextStream(1, -2) PobierzSyg = sg.readall sg.Close End Function Powodzenia
@m1sio
@m1sio Жыл бұрын
@@smartexcel-s.godziszewski Panie Sebastianie w którym miejscu należy wpisać te funkcje, ktora jest na koncu kodu?
@m1sio
@m1sio Жыл бұрын
udało mi się :) pytanie nieaktyualne, problem pozostal z logiem firmy :D
@gabka75
@gabka75 Жыл бұрын
Planuję listę maili zrobić jako tabelę i wtedy można użyć For Each xxx in Nazwa tabeli, ale to rozwiązanie też bardzo fajne.
@smartexcel-s.godziszewski
@smartexcel-s.godziszewski Жыл бұрын
Bardzo fajny pomysł. Dziękuje za komentarz :)
Tworzenie wykresu oraz zmiana źródła i serii danych na wykresie za pomocą VBA.
27:20
SmartExcel - Sebastian Godziszewski
Рет қаралды 1,7 М.
VBA - UserForm czyli formularz użytkownika
16:42
Exceltrener Dariusz Skórniewski
Рет қаралды 28 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 17 МЛН
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 6 МЛН
Nurse's Mission: Bringing Joy to Young Lives #shorts
00:17
Fabiosa Stories
Рет қаралды 4,8 МЛН
Wyszukiwarka danych bez VBA czyli funkcja FILTRUJ w akcji. Funkcja FILTRUJ i wyszukiwarka danych
31:12
SmartExcel - Sebastian Godziszewski
Рет қаралды 4,6 М.
Excel VBA Introduction Part 29.3 - Outlook Emails using the Word Editor
20:23
Send Mail From Excel via Outlook
6:19
Excel Macro Mania
Рет қаралды 109 М.
Wise Owl Answers - How do I unzip files using VBA?
13:25
WiseOwlTutorials
Рет қаралды 7 М.
Kabaret Moralnego Niepokoju - Adopcja Królika (Official Video, 2024)
16:10
Kabaret Moralnego Niepokoju
Рет қаралды 652 М.
TEGO NIE RÓB w Automacie !
18:24
Miłośnicy czterech kółek -zrób to sam
Рет қаралды 851 М.
WYSZUKAJ.PIONOWO w EXCEL VBA w zdarzeniu arkusza Worksheet_Change.
30:05
SmartExcel - Sebastian Godziszewski
Рет қаралды 2,8 М.
#powerquery  #vba  TWORZENIE DYNAMICZNYCH ZAKŁADEK ORAZ POBIERANIE DANYCH Z ROZGRYWEK W EKSTRAKLASIE
59:44
Uruchamianie makra w Excelu - ZDARZENIA
19:08
MAGIA EXCELA - Tomasz Zarzyka
Рет қаралды 6 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН