logotip web stranice ic.ims.hr
Home - počtna stranica  FORUM ACCESS 2003 EXCEL 2003 WORD 2003  
1 Pokretanje i zatvaranje Microsoft Excel-a 2013
2 Izgled prozora Microsoft Excela 2013
3 Alatne trake u MS Excelu 2013
4 Podešavanje Excela
5 Otvaranje nove radne knjige i radnog lista
6 Spremanje i zatvaranje Workbook u Excelu
7 Pregled radnog lista prije ispisa u Excelu 2013
8 Određivanje margina Radnog lista
9 Kreiranje Zaglavlja i Podnožja Radnog lista
10 Ispis radnog lista ili tablice ili područja u Excelu 2013
11 Kreiranje mapa u Excelu
12 Kretanje radnom tablicom u Excelu 2013
13 Označavanje ili selektiranje u Excelu
14 Operatori u Excelu
15 Kreiranje formule u Excelu
16 Uvjetno oblikovanje u Excelu 2013
17 Kako izraditi padajuću listu u Excelu - Data Validation
18 Imenovanje ćelija ili raspona podataka u excelu 2013
19 Poravnanje teksta
20 Promjena podataka i brisanje sadržaja ćelije u Excelu 2013
21 Spajanje i dijeljenje ćelija u Excelu 2013
22 Automatska ispuna - brzi unos podataka
23 Popunjavanje ćelija specijalnim znakovima i simbolima
24 Crtanje u Excelu 2013
25 Dodavanje komentara na ćelije u Excelu 2013
26 Naredbe poništi i ponovi u excelu 2013
27 Premještanje, izrezivanje i kopiranje sadržaja ćelije u Excelu 2013
28 Umetanje i brisanje Ćelija, Stupaca i Redova
29 Promjena veličine Ćelija, Stupaca i Redova u Excelu 2013
30 Umetanje slika u Excelu
31 Radnje vezane uz Radni List u Excelu 2013
32 Apsolutna i relativna adresa ćelija u Excelu
33 Izrada Grafikona u Excelu 2013
34 Oblikovanje radnih tablica u Excelu 2013
35 Sortiranje podataka u Excelu 2013
36 Filtriranje podataka u Excelu 2013
37 Kreiranje Pivot Table
38 Zamrzavanje dijela prozora radnog lista u Excelu 2013
39 Oblikovanje Datuma u Excelu 2013
40 Zaključavanje ćelija i radnog lista u Excelu 2013
41 Zaštita radne knjige u Excelu 2013
42 Greške u Excelu 2013
43 Popis svih funkcija u Excelu 2013
44 Tipkovni prečaci u Excelu (hot key, shortcut)
45 Ograničenja u Excelu 2013
46 Makronaredbe u Excelu
47 Razni primjeri u Excelu
   
1 Excel 2003 primjeri
1 Excel 2007 primjeri
1 VBA U EXCELU
   
 

MICROSOFT EXCEL 2013 tutoriali - Slanje PDF datoteke iz mape kao attachment na određeni e-mail iz Excel tablice, Kako poslati određenu PDF datoteku na određđeni e-mail sa popisa koji se nalazi u Excel Workbook, Kako poslati specifičnu PDF datoteku iz mape na hard disku na određenu e-mail adresu sa popisa u Excelu, Kako specifičnoj e-mail adresi pridružiti specifičnu PDF datoteku za slanje iz Excela, Kako pripremiti i specificirati popis osoba i PDF datoteka za slanje e-mail poruke u MS Outlook, Slanje e-mail poruka iz Excela

Kako poslati specifičnu PDF datoteku iz mape na određenu e-mail adresu sa popisa u Excelu




sponzor



Kako specifičnoj e-mail adresi pridružiti specifičnu PDF datoteku iz foldera za slanje iz Excela preko Microsoft Outlook programa

U ovom tutorijalu prikazati ću kako možemo uz pomoć EXCEL formula i VBA makronaredbe pridružiti i poslati kao privitak (attachment) određene PDF datoteke na određenu e-mail adresu iz popisa u Excel Workbook u jednom potezu preko Microsoft Outlook programa.

Na slici ispod uočite situaciju sa rasporedom tablica (Tablica 1 i Tablica 2, raspona podataka) koje imamo kao bazu podataka iz koje ćemo povlačiti određene podatke i pripremiti određenu PDF datoteku (ova datoteka kao attachment također može biti *.TXT, *.CSV, *.DOC i slično). Obavezno! pročitajte komentare u ćelijama na radnom listu.

Tablica 1

U rasponu ćelija 'A5:C13' nalazi se popis tj. ime i prezime osobe kao i pripadajuća e-mail adresa dotične osobe kojoj želimo e-mailom poslati određenu datoteku (PDF, DOC, CSV itd..). Ove datoteke nalaze se u mapi na putanji C:\Temp

Tablica 2

U rasponu ćelija 'E5:G13' nalazi se popis ime i prezime osobe i pripadajuća PDF datoteka koju želimo kao attachment u e-mail programu Microsoft Outlook poslati dotičnoj osobi.

Slanje PDF datoteke kao attachment na specifičnu e-mail adresu preko MS Outlook iz Excela pomoću VBA

Kako pripremiti i specificirati popis osoba i PDF datoteka za slanje e-mail poruke u MS Outlook

Tablica 3

Za daljnje tekstove pogledajte sliku ispod.

Naš zadatak je u "Tablici 3" u rasponu ćelija 'K5:N13' pripremiti popis svih osoba kojima želimo poslati e-mail poruku kao i pridružiti svakoj osobi određenu ili specifičnu PDF datoteku kao attachment koja se nalazi u mapi na hard disku ( C:\Temp)

Dakle, u "Tablici 3" u stupcima 'K:L' upisujemo imena i prezimena određenih osoba. Ova dva podataka su uvjeti prema kojima moramo vratiti ostale rezultate (putanju/naziv datoteke i e-mail adresu)

NAPOMENA!: Da bi si olakšao rješavanje zadatka ja sam u "Tablicu 1 i Tablicu 2" dodao pomoćne stupac 'A' i 'F' u kojima sam spojio ime i prezime jer u daljnjem izračunu mi to pomaže u formuli Vlookup zbog pretraživanja jer je tada jedinstven podatak. Naravno vi možete sakriti ove stupce. Ovdje nastaje problem samo ako imamo dvije osobe sa istim imenom i prezimenom ali i to se može riješiti dodatnim oznakama uz prezime poput rednog broja.

Formula u ćeliji 'A5' je slijedeća: formulu kopiramo prema dolje.

=B5&C5

Formula u ćeliji 'F5' je slijedeća: formulu kopiramo prema dolje.

=G5&H5

Nadalje, u stupcu 'M' postavimo formulu koja će nam za svaku osobu prikazati putanju do datoteke koju smo specificirali u "Tablici 2". S obzirom da znamo u kojoj mapi se nalaze datoteke automatski možemo putanju spojiti sa ostalim formulama koje će pronaći određenu datoteku iz stupca 'I' u "Tablici 2" i pridružiti ovoj putanji.

Formula u ćeliji 'M5' je slijedeća : formulu kopiramo prema dolje. (formula treba biti u jednoj liniji koda)

= IF(IFERROR(VLOOKUP(CONCATENATE(K5;L5);$F$5:$I$13;4;FALSE);"")="";"";CONCATENATE
("C:\Temp\";IFERROR(VLOOKUP(CONCATENATE(K5;L5);$F$5:$I$13;4;FALSE);"")))

U stupcu 'N' kao rezultati nalaze se e-mail adrese koje su za uvjete u 'K:L' stupcima vratile e-mail adresu iz "Tablice 1"

Formula u ćeliji 'N5' je slijedeća: formulu kopiramo prema dolje. (formula treba biti u jednoj liniji koda)

=IF(M5="";"";HYPERLINK(IFERROR(VLOOKUP(CONCATENATE(K5;L5);$A$5:$D$13;4;FALSE);"")))

Na slici ispod uočite da sam u stupcima 'M' i 'N' koristio Conditional Formatting kao upozorenje da nismo neki podatak upisali kako zahtjeva planirani izračun u aplikaciji.
Stupac 'M': Dakle, ako se u stupcu 'M' pojavi boja u nekoj ćeliji to znači da u "Tablici 2" ne postoji osoba i njoj pridružena datoteka.
Stupac 'N': Ako se u stupcu 'N' pojavi ćelija sa crvenom pozadinom to znači da za dotičnu osobu u "Tablici 2" postoji pridružena datoteka ali ne postoji e-mail adresa u "Tablici 1".

Popis svih e-mail adresa i pridruženih PDF datoteka pripremljenih za slanje e-mailom preko MS Outlook.

Nakon unosa određenih osoba u stupcima 'K:L' (imena i prezimena) u "Tablicu 3" Excel automatski priprema popis e-mail adresa i pripadajućih PDF datoteka za slanje putem MS Outlook programa.

Formula u ćeliji 'P2' je slijedeća: formulu kopiramo prema dolje.

=HYPERLINK(VLOOKUP(Q2;$M$5:$N$13;2;FALSE))

ARRAY Formula u ćeliji 'Q2' je slijedeća: formulu kopiramo prema dolje.

=IFERROR(INDEX(M$4:$M$13;SMALL(IF(M$4:$M$13<>"";ROW(M$4:$M$13)-ROW(M$4)+1);ROWS(M$4:$M5)));"")

Na ovaj način kreirali smo popis e-mail adresa i pripadajućih PDF datoteka i pripremili za slanje preko Microsoft Outlook programa.

NAPOMENA! Uočite na slici ispod u stupcima 'P' i 'Q' da u jednom redu nemamo e-mail adresu ali imamo PDF datoteku. Bez obzira na ovu situaciju mi možemo bez problema poslati samo kompletirane redove tj. one ćelije koje imaju pripadajuće elemente. Upravo ovu situaciju sam ja simulirao da uočite moguće probleme. Da bi riješili ovaj problem u situaciji na slici ispod, jednostavno obrišemo ime i prezime (mmm/mmm) u ćelijama 'K9' i 'L9' jer nas crvena ćelija u 'N9' upozorava na problem.

Za uvećanje slike klikni na sliku (Zoom/Enlarge)

Slanje određenih fajlova na određene email adrese  na popisu u Excelu

Slanje e-mail poruka iz Excela

Nakon što smo pripremili spisak svih e-mail adresa i pripadajućih datoteka kao attachment potrebno je učiniti završni korak tj. poslati sve datoteke na pripadajuće e-mail adrese preko MS Outlook programa.

Slanje e-mail poruka pomoću VBA razradio je Excel MVP RondeBruin pa sam iskoristio njegovu VBA makronaredbu da bi automatizirao slanje više e-mail poruka iz Excela odjednom. Za automatizirano slanje više e-mail poruka u VBE vašeg Excela trebate postaviti nekoliko VBA makronaredbi i kreirati Button preko kojega klikom automatski šaljete sve e-mail poruke.

Ova automatizacija slanja e-mail poruka sa pripadajućim attachment datotekama funkcionira na slijedeći način. Sve VBA makronaredbe nalaze se u general Module1.

Sub SendFilesViaEmailList() 'glavni VBA macro za slanje e-mail iz Excela
Call CopyRangePasteValues 'VBA macro koji kopira range i lijepi kao tekst
......vba code za slanje........ 'VBA macro koji šalje e-mail iz Excela na adrese iz popisa
Call VratiFormule 'VBA macro koji vraća formule nazad u raspon ćelije identičan stanju prije pokretanja glavne procedure
End Sub 'završetak procedure

VBA makronaredba za Copy/Paste_Special => Paste Values

Da bi automatizirali slanje e-mail poruka iz Excela pomoću VBA makronaredbe potrebno je popis ili spisak u tablici za slanje ukloniti formule da ih Excel vidi kao tekstualne podatke. Pomoću ove pomoćne VBA makronaredbe ispod mi kopiramo (Copy) raspon podataka 'P2:Q13' i automatski ponovo lijepimo (Paste Values) na isti raspon podataka. Ovu VBA makronaredbu kasnije pozivamo unutar glavne VBA makronaredbe za slanje e-mail poruka iz Excela.

Sub CopyRangePasteValues()
'VBA source IvanC ic.ims.hr
' Copy_Paste_Values Macro
' kopira range P1:Q15 i Paste kao Values na isti range

Range("P2:Q13").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("P1").Select 'nevažna ćelija na koju se pozicioniramo poslije završetka procedure ova ćelija može biti i A1
Application.CutCopyMode = False
End Sub

VBA makronaredba koja vraća formule nazad u specificirani raspon ćelija

Druga pomoćna VBA makronaredba vraća formule nazad na specificirani raspon ćelija 'P2:Q13' tako da smo opet spremni za slijedeći popis.

Sub VratiFormule()
'VBA source IvanC ic.ims.hr
'Makro za ponovno postavljanje formula u P i Q stupac

Range("P2:Q13").Select
Selection.ClearContents
Range("Q2").Select
Selection.FormulaArray = _
"=IFERROR(INDEX(R4C[-4]:R13C13,SMALL(IF(R4C[-4]:R13C13<>"""",ROW(R4C[-4]:R13C13)-ROW(R4C[-4])+1),ROWS(R4C[-4]:R[3]C13))),"""")"
Selection.AutoFill Destination:=Range("Q2:Q13"), Type:=xlFillDefault
Range("Q2:Q13").Select
Range("P2").Select
ActiveCell.FormulaR1C1 = "=HYPERLINK(VLOOKUP(RC[1],R5C13:R13C14,2,FALSE))"
Range("P2").Select
Selection.AutoFill Destination:=Range("P2:P13"), Type:=xlFillDefault
Range("P2:P13").Select
Range("P1").Select
End Sub

VAŽNO!
U slučaju da imate više izvornih podataka i trebate promijeniti raspon ćelija za stupac 'P' i 'Q' tada želim napomenuti da morate promijeniti dijelove koda u VBA makronaredbi iznad. npr. Ako vam je zadnji red 'Row 200' tada u VBA kodu sve dijelove VBA koda 'R13' trebate promijeniti u 'R200'.

Isto tako VBA formule u ovom slučaju u kodu VBA makronaredbe iznad izgledale bi ovako kao što slijedi

"=IFERROR(INDEX(R4C[-4]:R200C13,SMALL(IF(R4C[-4]:R200C13<>"""",ROW(R4C[-4]:R200C13)-ROW(R4C[-4])+1),ROWS(R4C[-4]:R[3]C13))),"""")"

"=IFERROR(HYPERLINK(VLOOKUP(RC[1],R5C13:R200C14,2,FALSE)),"""")"

Također, morate znati da jedan navodnik (") unutar klasične Excel formule treba biti pisan kao dva navodnika ("") unutar VBA koda (samo u argumentima formule). Dakle tako slijedi "" => """"
Isto tako umjesto separatora između argumenata točka-zarez (;) unutar formule u VBA kodu piše se isključivo zarez (,)

VBA makronaredba za slanje višestrukih e-mail poruka iz Excela

I na kraju evo VBA macro koji šalje poruke na sve e-mail adrese iz stupca 'P'.

Sub SendFilesViaEmailList()
Call CopyRangePasteValues
'poziva VBA macro za Copy/Paste Values
'Working in 2000-2010
'http://www.rondebruin.nl
'VBA modify IvanC ic.ims.hr

Dim OutApp As Object
Dim OutMail As Object
Dim sh As Worksheet
Dim cell As Range, FileCell As Range, rng As Range

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Set sh = Sheets("Sheet1") 'naziv radnog lista na kojem se nalazi popis e-mail adresa

Set OutApp = CreateObject("Outlook.Application")

For Each cell In sh.Columns("P").Cells.SpecialCells(xlCellTypeConstants)

'Enter the file names in the Q:Z column in each row
Set rng = sh.Cells(cell.Row, 1).Range("Q1:R1") 'range sa popisom datoteka

If cell.Value Like "?*@?*.?*" And _
Application.WorksheetFunction.CountA(rng) > 0 Then
Set OutMail = OutApp.CreateItem(0)

With OutMail
.to = cell.Value
.Subject = "
Izvješće za Svibanj 2011" 'predefinirani subject text
.Body = "
Pozdrav " & cell.Offset(0, -1).Value 'predefinirani body text

For Each FileCell In rng.SpecialCells(xlCellTypeConstants)
If Trim(FileCell) <> "" Then
If Dir(FileCell.Value) <> "" Then
.Attachments.Add FileCell.Value
End If
End If
Next FileCell

.Send 'Or use .Display => ako želite samo prikazati e-mail poruku zamijenite Send sa Display
End With

Set OutMail = Nothing
End If
Next cell

Set OutApp = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Call VratiFormule 'poziva VBA macro za vraćanje formula u dotični raspon ćelija
End Sub

Naravno da ne bi stalno pokretali VBA makronaredbu preko ALT+F8 kombinacije tipki na tipkovnici, vi kreirajte VBA Button i koristite ga za pokretanje VBA makronaredbe. Nakon pokretanja VBA makronaredbe u vašem Microsoft Outlook programu u Outbox sandučiću imate tri e-mail poruke koje sadrže attachment za slanje. (s obzirom na situaciju iz primjera ovog tutorijala).

Pripremljene specifične datoteke koje treba poslati na specifične e-mail adrese iz popisa u Excelu preko VBA makronaredbe

Kada kliknete na neku od poruka da je prekontrolirate ili možda da dodate još nekakav tekst to izgleda kao na slici ispod.

PDF datoteke spremne za slanje kao attachment na specifičnu e-mail adresu iz popisa u Excelu

sponzor


I na kraju ja mogu samo reći slijedeće. Uvjeren sam da postoji jednostavniji način rješavanja problema tj. zadatka, ali eto moja ideja je ovakav način. I naravno za sve one koji žele isprobati primjer iz ovog tutorijala za slanje specifične PDF datoteke na specifičnu e-mail iz Excela preko MS Outlooka evo DOWNLOAD datoteke iz ovog primjera tutorijala. Molim Vas da link za download ove datoteke ne postavljate na druge web stranice ili forume. Dovoljno je postaviti URL-link do ovog tutorijala.




     

sponzor



COPYRIGHT © - 2005 - 2020 IvanC - Sva prava pridržana - Ova web domena/web stranica koristi cookies.
Prema međunarodnom zakonu o autorskom djelu zabranjeno je kopiranje, reproduciranje, prosljeđivanje i publiciranje cijelog sadržaja ili bilo kojeg njegova dijela