Hogyan írhatunk hasznos makrókat az Outlook 2016 és 2019 üzenetekben?
Új a VBA makrók Outlook automatizáláshoz? Ismerje meg, hogyan illeszthet be VBA-kódot az Outlook 365 / 2016 / 2019 programba.
Frissítve: 2021. augusztus; A Microsoft Outlook 365 / 2019 / 2016 verzióra vonatkozik
Íme egy feljegyzés, amit egy olvasónktól kaptunk.
Köszönjük nagyon hasznos Outlook kódolási segítségét. Érdeklődnék, hogy megoszthat-e valamilyen kódot az e-mailek küldésének automatizálásához az Outlook programban? Tudom, hogy számos módja van az ismétlődő üzenetek küldésének, de kifejezetten érdekel, hogy a VBA-t használjam ehhez a feladatomhoz.
Köszönöm a kérdést. Úgy tűnik, hogy az e-mailek automatikus küldése a VBA használatával automatizálható leghasznosabb és legnépszerűbb feladatok közé tartozik. Olvassa el a további részleteket és egy egyszerű szkriptet a kezdéshez.
VBA írása Outlook e-mailek küldéséhez
Az alábbi meglehetősen egyszerű példában a következő lépéseket ismertetjük:
Íme az egyszerű VBA-kód az egyszerű e-mailek automatikus létrehozásához és küldéséhez. Ne feledje, hogy ezt a szkriptet könnyen javítani kell, hogy tartalmazzon fájlmellékleteket, feladatokat stb.', de kezdjük egy nagyon egyszerű szkripttel.
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 makró parancsikon
Érdemes lehet megvizsgálni az imént írt VBA-kód és az Outlook parancsgombjainak társítását. Ez lehetővé teszi, hogy egyszerűen elindítsa az Outlook szalagon elhelyezett parancsikonról.
Ezt a következőképpen teheti meg:
Lehetséges problémák a VBA makró beállításaival
Előfordulhat, hogy az Outlook makró beállításait módosítani kell a makrók futtatásához. Ha igen, a következőképpen teheti meg.
A PowerShellben a Send-MailMessage parancsmagot használhatja e-mailek küldésére. Ehhez azonban hitelesíteni kell a levelezőszerveren, és nem támogatja a modern hitelesítési módszereket, például az OAuth-ot és a Microsoft Modern Authentication-t. Így sokkal egyszerűbb e-mailt küldeni, ha a számítógépén be van állítva Outlook-profil.
Íme egy példa egy PowerShell-szkriptre, amely beolvassa az adatokat egy Excel-fájlból , és egy Outlook-profil segítségével küld e-mailt minden felhasználó:
# nyissa meg az Excel fájlt
$ExcelObj = Új-objektum -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# A kitöltött sorok számának lekérése egy xlsx fájlban
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Lapozzon végig az 1. oszlop összes sorában, a második sortól kezdve (ezek a cellák tartalmazzák a felhasználóneveket és az e-mail címeket).
for($i=2;$i -le $sorszám;$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
# Üzenettörzs létrehozása
$strSubj = " Fiókjának állapota a woshub.com domainben "
$strBody = "Kedves " + $FullUsername
$strBody = $strBody + " `r`n Az Ön fiókja a woshub.com domainben a " + $Status
$strBody = $strBody + "`r`n Az utolsó jelszómódosítás dátuma és időpontja: " + $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Feltételezzük, hogy az Outlook fut, ha nem, akkor a $outlook = new-object -comobject outlook.application
paranccsal kell elindítani.
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body = $strBody
# Csatoljon egy fájlt (ha szükséges)
$email.Attachments.add($strfile)
#küldje el az e-mailt
$email.Send()
}
$ExcelWorkBook.close($true)
Ez a PowerShell-szkript feltételezi, hogy az Outlook fut a számítógépen. A szkript minden egyes címzett SMTP-címéhez létrehozza az e-mail tárgyát és törzsét az XLSX fájlban, és csatolja a fájlt. Ezután elküldi az e-mailt.
Új a VBA makrók Outlook automatizáláshoz? Ismerje meg, hogyan illeszthet be VBA-kódot az Outlook 365 / 2016 / 2019 programba.
Ismerje meg, hogyan másolhatja egyszerűen az Outlook naptári eseményeit, értekezleteit és találkozóit az Office 365, 2016 és 2019 verziókban.
Ismerje meg, hogyan tervezhet és hozhat létre egyéni Outlook felhasználói űrlapokat.
Az Outlook beérkező levelei nem frissülnek automatikusan? Ismerje meg, hogyan frissítheti automatikusan az Outlook 365 / 2019 / 2016 / 2013 beérkező leveleket.
Ismerje meg, hogyan adhat hozzá/beágyazhat és küldhet GIF-képet Outlook 2016 és 2019 kimenő e-mailjeibe.
Ismerje meg, hogyan diagnosztizálhatja és elháríthatja a Microsoft Outlook kliens leválasztási problémáit a Windows 10 rendszerben.
Tanuljon meg Outlook makrókat írni az e-mailek küldésének automatizálásához.
Ismerje meg, hogyan tilthatja le az emlékeztetőket és értesítéseket az Outlook 2016/2019 naptárakból Windows és MAC rendszeren egyaránt.
Ismerje meg, hogyan javíthatja Outlook teljesítményét.
Ebben a bejegyzésben segítséget nyújt az Outlook.com-fiók jelszavának megváltoztatásához és a Windows szinkronizálásához az összes eszközön.