Kako poslati e-poštu u Outlooku s VBA?

Ažurirano: kolovoz 2021.; Primjenjivo na Microsoft Outlook 365 / 2019 / 2016

Evo bilješke koju smo dobili od čitatelja.

Hvala na vrlo korisnoj pomoći za kodiranje u Outlooku. Zanima me možete li podijeliti neki kod za automatizaciju slanja e-pošte u Outlooku? Znam da postoji nekoliko načina za slanje ponavljajućih poruka, ali posebno sam zainteresiran za korištenje VBA za moj ovaj zadatak.

Hvala na pitanju. Čini se da je automatsko slanje e-pošte među najkorisnijim i najpopularnijim zadacima koje možete automatizirati pomoću VBA. Ovdje čitajte za više detalja i jednostavnu skriptu za početak.

Pisanje VBA za slanje Outlook e-pošte

U prilično jednostavnom primjeru u nastavku pokriti ćemo sljedeće korake:

  1. Prvo ćemo koristiti VBA Outlook objektni model za stvaranje nove stavke e-pošte.
  2. Zatim ćemo nastaviti i postaviti važnost poruke, primatelje (odvojene točkom i zarezom) te stil i sadržaj teksta.
  3. Zatim ćemo prikazati poruku u vašoj aplikaciji Microsoft Outlook.
  4. Na kraju ćemo ga poslati primateljima.

Evo jednostavnog VBA koda za automatsko stvaranje i slanje jednostavnih e-poruka. Imajte na umu da ovu skriptu trebate jednostavno poboljšati kako biste uključili privitke datoteka, zadatke itd.', ali počnimo s vrlo osnovnom skriptom.

Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)

With MyEmail
.To = ""
.Importance = olImportanceHigh
.Subject = ""
.Body = ""
.BodyFormat = olFormatHTML
.Display
End With

'I purposely commented the next line, uncomment it by removing the "'" sign to send your email.
' MyEmail.Send
End Sub

Outlook VBA makro prečac

Možda biste željeli provjeriti povezivanje VBA koda koji ste upravo napisali s naredbenim gumbom u Outlooku. To će vam omogućiti da ga jednostavno pokrenete s prečaca smještenog na Outlook vrpci.

Evo kako to učiniti:

  1. Prvo otvorite Microsoft Outlook.
  2. Pritisnite Datoteka, a zatim odaberite Opcije
  3. Sada samo naprijed i odaberite Prilagodi vrpcu.
  4. U odjeljku Prilagodba vrpce primijetit ćete okvir s popisom Odaberi naredbe.
  5. Odaberite Macros
  6. Zatim odaberite svoj novostvoreni VBA kod, u našem slučaju naziv bi trebao biti SendMail.
  7. Zatim pritisnite Dodaj, a zatim OK. Po želji možete htjeti dodijeliti ikonu svojoj makronaredbi.
  8. Vaša makronaredba će biti dostupna na alatnoj traci za brzi pristup u gornjoj lijevoj strani vaše Outlook aplikacije.

Mogući problemi s postavkama VBA makronaredbi

Vaše postavke makronaredbe Outlooka možda će biti potrebno podesiti da biste mogli pokrenuti makronaredbe. Ako je tako, evo kako to učiniti.

Bonus: Pošaljite e-poštu iz Outlooka koristeći PowerShell

U PowerShellu možete koristiti cmdlet Send-MailMessage za slanje e-pošte. Međutim, zahtijeva da se autentifikujete na poslužitelju e-pošte i ne podržava moderne metode autentifikacije, kao što su OAuth i Microsoft Modern Authentication. Stoga je puno lakše poslati e-poštu ako na računalu imate konfiguriran Outlook profil.

Ovo je primjer PowerShell skripte koja čita podatke iz Excel datoteke i koristi Outlook profil za slanje e-pošte svaki korisnik:

# otvorite Excel datoteku
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Dohvatite broj popunjenih redaka u xlsx datoteci
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Prođite kroz sve retke u stupcu 1, počevši od drugog retka (ove ćelije sadrže korisnička imena i adrese e-pošte).
for($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Status =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# Generiraj tekst tijela poruke
$strSubj = " Status vašeg računa na domeni woshub.com "
$strBody = "Dragi " + $FullUsername
$strTijelo = $strTijelo + " `r`n Vaš račun u domeni woshub.com je u " + $Status
$strBody = $strBody + "`r`n Datum i vrijeme posljednje promjene lozinke je: " +  $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Pretpostavljamo da je Outlook pokrenut, ako nije, morat ćete ga pokrenuti naredbom $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# Priložite datoteku (ako je potrebno)
$email.Attachments.add($strfile)
#pošaljite poruku e-pošte
$email.Send()
}
$ExcelWorkBook.close($true)

powershell skripta za slanje e-pošte s profila konfiguriranog za Outlook

Ova PowerShell skripta pretpostavlja da je Outlook pokrenut na vašem računalu. Skripta generira predmet i tijelo e-pošte za svaku SMTP adresu primatelja u XLSX datoteci i prilaže datoteku. Zatim šalje e-mail.


Kako napisati korisne makronaredbe u porukama Outlook 2016 i 2019?

Kako napisati korisne makronaredbe u porukama Outlook 2016 i 2019?

Novi ste na VBA makronaredbi za automatizaciju Outlooka? Saznajte kako umetnuti VBA kod u Outlook 365 / 2016 / 2019.

Kako duplicirati sastanke i događaje u kalendaru Outlook 2019 / 365 / 2016?

Kako duplicirati sastanke i događaje u kalendaru Outlook 2019 / 365 / 2016?

Saznajte kako jednostavno duplicirati Outlook kalendarske događaje, sastanke i obveze u Office 365, 2016 i 2019.

Outlook obrasci: Kako stvoriti obrasce koji se mogu ispuniti u Microsoft Office 2016 / 2019?

Outlook obrasci: Kako stvoriti obrasce koji se mogu ispuniti u Microsoft Office 2016 / 2019?

Saznajte kako možete dizajnirati i izraditi prilagođene korisničke obrasce za Outlook.

Kako osvježiti svoju Outlook pristiglu poštu kada se ne ažurira automatski?

Kako osvježiti svoju Outlook pristiglu poštu kada se ne ažurira automatski?

Outlook pristigla pošta ne ažurira se automatski? Saznajte kako možete automatski osvježiti pristiglu poštu Outlook 365 / 2019 / 2016 / 2013.

Kako dodati gif slike u tijelo ili potpis e-pošte Outlook 2016/2019?

Kako dodati gif slike u tijelo ili potpis e-pošte Outlook 2016/2019?

Naučite kako dodati/ugraditi i poslati gif sliku u svoju odlaznu e-poštu za Outlook 2016 i 2019.

Zašto je Outlook izvan mreže ili prekinut i kako se ponovno povezati?

Zašto je Outlook izvan mreže ili prekinut i kako se ponovno povezati?

Saznajte kako dijagnosticirati i riješiti različite probleme s prekidom veze s klijentom Microsoft Outlooka u sustavu Windows 10.

Kako poslati e-poštu u Outlooku s VBA?

Kako poslati e-poštu u Outlooku s VBA?

Naučite pisati makronaredbe Outlooka za automatiziranje slanja e-pošte.

Zaustavite iskakanje obavijesti iz kalendara Outlook 365/2019/2016 za sastanke i obveze

Zaustavite iskakanje obavijesti iz kalendara Outlook 365/2019/2016 za sastanke i obveze

Saznajte kako onemogućiti podsjetnike i obavijesti iz Outlook 2016/2019 kalendara, i na Windows i na MAC-u.

Kako učiniti da Microsoft Outlook radi brže (verzije 2019 / 365/ 2016)?

Kako učiniti da Microsoft Outlook radi brže (verzije 2019 / 365/ 2016)?

Saznajte kako poboljšati performanse Outlooka.

Kako izmijeniti svoju Hotmail lozinku u sustavu Windows, Android telefon, iPhone ili iPad?

Kako izmijeniti svoju Hotmail lozinku u sustavu Windows, Android telefon, iPhone ili iPad?

Ovaj post će vam pomoći da promijenite lozinku za svoj Outlook.com račun i sinkronizirate svoj Windows na svim svojim uređajima.