Kaip rašyti naudingas makrokomandas Outlook 2016 ir 2019 pranešimuose?
Pirmą kartą naudojate VBA makrokomandas, skirtas Outlook automatizavimui? Sužinokite, kaip įterpti VBA kodą į Outlook 365 / 2016 / 2019.
Atnaujinta: 2021 m. rugpjūčio mėn.; Taikoma Microsoft Outlook 365 / 2019 / 2016
Štai pastabą, kurią gavome iš skaitytojo.
Dėkojame už labai naudingą „Outlook“ kodavimo pagalbą. Noriu sužinoti, ar galite bendrinti kodą, kuris padėtų automatizuoti el. laiškų siuntimą programoje „Outlook“? Žinau, kad yra keletas būdų, kaip siųsti pasikartojančius pranešimus, bet man ypač įdomu naudoti VBA šiai užduočiai.
Ačiū už klausimą. Atrodo, kad automatinis el. laiškų siuntimas yra viena iš naudingiausių ir populiariausių užduočių, kurias galite automatizuoti naudodami VBA. Skaitykite toliau, kad gautumėte daugiau informacijos ir paprastą scenarijų, kad galėtumėte pradėti čia.
VBA rašymas, skirtas Outlook el. laiškų siuntimui
Toliau pateiktame gana paprastame pavyzdyje apimsime šiuos veiksmus:
Štai paprastas VBA kodas, skirtas automatiškai kurti ir siųsti paprastus el. Atminkite, kad jūs turite lengvai patobulinti šį scenarijų, įtraukdami failų priedus, užduotis ir pan.“, bet pradėkime nuo labai paprasto scenarijaus.
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 makrokomandos spartusis klavišas
Galbūt norėsite susieti ką tik parašytą VBA kodą su komandos mygtuku programoje „Outlook“. Tai leis jums lengvai jį paleisti iš „Outlook“ juostelėje esančios nuorodos.
Štai kaip tai padaryti:
Galimos VBA makrokomandos nustatymų problemos
Norint paleisti makrokomandas, gali reikėti sureguliuoti „Outlook“ makrokomandos nustatymus. Jei taip, štai kaip tai padaryti.
„PowerShell“ el. laiškams siųsti galite naudoti Send-MailMessage cmdlet . Tačiau tam reikia autentifikuoti pašto serverį, be to, jis nepalaiko šiuolaikinių autentifikavimo metodų, pvz., OAuth ir Microsoft Modern Authentication. Taigi daug lengviau išsiųsti el. laišką, jei kompiuteryje sukonfigūravote „Outlook“ profilį.
Štai yra „PowerShell“ scenarijaus, kuris nuskaito duomenis iš „Excel“ failo ir naudoja „Outlook“ profilį el. laiškui siųsti, pavyzdys. kiekvienas vartotojas:
# atidaryti „Excel“ failą
$ExcelObj = naujas objektas - bendras objektas Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Gaukite užpildytų eilučių skaičių xlsx faile
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Pereikite visas 1 stulpelio eilutes, pradedant nuo antros eilutės (šiose ląstelėse yra naudotojų vardai ir el. pašto adresai).
for($i=2;$i -le $eilių skaičius;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Tekstas
$FullUsername = $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Tekstas
$Būsena = $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Tekstas
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Tekstas
# Generuokite pranešimo tekstą
$strSubj = " Jūsų paskyros būsena woshub.com domene "
$strBody = "Gerb. " + $FullUsername
$strBody = $strBody + " `r`n Jūsų paskyra woshub.com domene yra " + $Status
$strBody = $strBody + "`r`n Paskutinio slaptažodžio pakeitimo data ir laikas yra: " + $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Manome, kad „Outlook“ veikia, jei ne, turėsite ją paleisti komanda $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$el. paštas = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body = $strBody
# Pridėkite failą (jei reikia)
$email.Attachments.add($strfile)
#išsiųskite el. laišką
$email.Send()
}
$ExcelWorkBook.close($true)
Šis „PowerShell“ scenarijus daro prielaidą, kad „Outlook“ veikia jūsų kompiuteryje. Scenarijus sugeneruoja el. laiško temą ir turinį kiekvienam gavėjo SMTP adresui XLSX faile ir prideda failą. Tada siunčia el.
Pirmą kartą naudojate VBA makrokomandas, skirtas Outlook automatizavimui? Sužinokite, kaip įterpti VBA kodą į Outlook 365 / 2016 / 2019.
Sužinokite, kaip lengvai kopijuoti „Outlook“ kalendoriaus įvykius, susitikimus ir susitikimus „Office 365“, 2016 ir 2019 m.
Sužinokite, kaip galite kurti ir kurti „Outlook“ tinkintas vartotojo formas.
„Outlook“ gautieji neatnaujinami automatiškai? Sužinokite, kaip galite automatiškai atnaujinti savo Outlook 365 / 2019 / 2016 / 2013 gautuosius.
Sužinokite, kaip pridėti / įterpti ir išsiųsti GIF vaizdą į „Outlook 2016“ ir „2019“ siunčiamus el. laiškus.
Sužinokite, kaip diagnozuoti ir šalinti įvairias Microsoft Outlook kliento atjungimo problemas sistemoje Windows 10.
Išmokite rašyti „Outlook“ makrokomandas, kad automatizuotų el. laiškų siuntimą.
Sužinokite, kaip išjungti priminimus ir pranešimus iš „Outlook 2016“ / 2019 kalendorių „Windows“ ir „MAC“.
Sužinokite, kaip pagerinti „Outlook“ našumą.
Šiame įraše padėsite pakeisti „Outlook.com“ paskyros slaptažodį ir sinchronizuoti „Windows“ visuose įrenginiuose.