Hur skriver man användbara makron i Outlook 2016 och 2019-meddelanden?
Ny på VBA-makron för Outlook-automatisering? Lär dig hur du infogar VBA-kod i Outlook 365 / 2016 / 2019.
Uppdaterad: augusti 2021; Gäller Microsoft Outlook 365/2019/2016
Här är en anteckning vi fick från en läsare.
Tack för din mycket användbara Outlook-kodningshjälp. Jag undrar om du kan dela med dig av någon kod för att hjälpa till att automatisera att skicka ett e-postmeddelande i Outlook? Jag vet att det finns flera sätt att skicka återkommande meddelanden men jag är speciellt intresserad av att använda VBA för min denna uppgift.
Tack för frågan. Att automatiskt skicka e-postmeddelanden verkar vara bland de mest användbara och populära uppgifterna du kan automatisera med VBA. Läs vidare för mer information och ett enkelt manus för att komma igång här.
Skriver VBA för att skicka Outlook-e-post
I det ganska enkla exemplet nedan kommer vi att täcka följande steg:
Här är den enkla VBA-koden för att automatiskt skapa och skicka enkla e-postmeddelanden. Observera att du enkelt ska förbättra det här skriptet till att inkludera filbilagor, uppgifter etc', men låt oss börja med ett mycket grundläggande skript.
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 genväg
Du kanske vill undersöka att associera VBA-koden du just skrev med en kommandoknapp i Outlook. Detta gör att du enkelt kan starta den från en genväg placerad i Outlook-bandet.
Så här gör du det:
Möjliga problem med VBA-makroinställningar
Dina makroinställningar i Outlook kan behöva justeras för att kunna köra makron. Om så är fallet, så här gör du det.
I PowerShell kan du använda Send-MailMessage cmdlet för att skicka e-post. Det kräver dock att du autentiserar till e-postservern, och det stöder inte moderna autentiseringsmetoder, som OAuth och Microsoft Modern Authentication. Så det är mycket enklare att skicka ett e-postmeddelande om du har en Outlook-profil konfigurerad på din dator.
Här är ett exempel på ett PowerShell-skript som läser data från en Excel fil och använder en Outlook-profil för att skicka ett e-postmeddelande till varje användare:
# öppna Excel-filen
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Hämta antalet ifyllda rader i en xlsx-fil
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Gå igenom alla rader i kolumn 1, med början från den andra raden (dessa celler innehåller användarnamn och e-post).
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
# Generera meddelandetext
$strSubj = " Din kontostatus på woshub.com-domänen "
$strBody = "Kära " + $FullUsername
$strBody = $strBody + " `r`n Ditt konto i woshub.com-domänen är i " + $Status
$strBody = $strBody + "`r`n Datum och tid för den senaste lösenordsändringen är: " + $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Vi antar att Outlook körs, om det inte är det måste du starta det med kommandot $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
# Bifoga en fil (om nödvändigt)
$email.Attachments.add($strfile)
#skicka e-postmeddelandet
$email.Send()
}
$ExcelWorkBook.close($true)
Detta PowerShell-skript förutsätter att Outlook körs på din dator. Skriptet genererar ämnet och brödtexten för e-postmeddelandet för varje mottagares SMTP-adress i XLSX-filen och bifogar filen. Skickar sedan e-postmeddelandet.
Ny på VBA-makron för Outlook-automatisering? Lär dig hur du infogar VBA-kod i Outlook 365 / 2016 / 2019.
Lär dig hur du enkelt duplicerar Outlook-kalenderhändelser, möten och möten i Office 365, 2016 och 2019.
Lär dig hur du kan designa och skapa anpassade användarformulär för Outlook.
Outlook-inkorgen uppdateras inte automatiskt? Lär dig hur du automatiskt kan uppdatera din Outlook 365/2019/2016/2013 inkorg automatiskt.
Lär dig hur du lägger till/bäddar in och skickar en gif-bild till din Outlook 2016 och 2019 utgående e-post.
Lär dig hur du diagnostiserar och felsöker olika problem med frånkoppling av Microsoft Outlook-klient i Windows 10.
Lär dig att skriva Outlook-makron för att automatisera e-postsändning.
Lär dig hur du inaktiverar påminnelser och meddelanden från Outlook 2016/2019-kalendrar, både på Windows och MAC.
Lär dig hur du förbättrar din Outlook-prestanda.
I det här inlägget hjälper du dig att ändra lösenordet för ditt Outlook.com-konto och hålla synkroniseringen av Windows på alla dina enheter.