Hvordan skriver man nyttige makroer i Outlook 2016 og 2019-meddelelser?
Ny til VBA-makroer til Outlook-automatisering? Lær, hvordan du indsætter VBA-kode i Outlook 365/2016/2019.
Opdateret: august 2021; Gælder for Microsoft Outlook 365 / 2019 / 2016
Her er en note, vi fik fra en læser.
Tak for din meget nyttige Outlook-kodningshjælp. Jeg spekulerer på, om du kan dele noget kode for at hjælpe med at automatisere afsendelse af en e-mail i Outlook? Jeg ved, at der er flere måder at sende tilbagevendende besked på, men jeg er specifikt interesseret i at bruge VBA til denne opgave.
Tak for spørgsmålet. Automatisk afsendelse af e-mails ser ud til at være blandt de mest nyttige og populære opgaver, du kan automatisere ved hjælp af VBA. Læs videre for flere detaljer og et simpelt script til at komme i gang her.
Skrivning af VBA til afsendelse af Outlook-e-mails
I det ret enkle eksempel nedenfor dækker vi følgende trin:
Her er den simple VBA-kode til automatisk at oprette og sende simple e-mails. Bemærk, at du nemt skal forbedre dette script til at inkludere vedhæftede filer, opgaver osv', men lad os starte med et meget grundlæggende script.
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 genvej
Du vil måske se på at knytte den VBA-kode, du lige har skrevet, med en kommandoknap i Outlook. Dette giver dig mulighed for nemt at starte den fra en genvej placeret i Outlook-båndet.
Sådan gør du det:
Mulige problemer med VBA-makroindstillinger
Dine Outlook-makroindstillinger skal muligvis justeres for at køre makroer. Hvis ja, her er hvordan du gør det.
I PowerShell kan du bruge Send-MailMessage cmdlet til at sende e-mail. Det kræver dog, at du godkender til mailserveren, og det understøtter ikke moderne godkendelsesmetoder, såsom OAuth og Microsoft Modern Authentication. Så det er meget nemmere at sende en e-mail, hvis du har en Outlook-profil konfigureret på din computer.
Her er et eksempel på et PowerShell-script, der læser data fra en Excel -fil og bruger en Outlook-profil til at sende en e-mail til hver bruger:
# åbn Excel-filen
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Få antallet af udfyldte rækker i en xlsx-fil
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Gå gennem alle rækkerne i kolonne 1, startende fra anden række (disse celler indeholder brugernavne og e-mails).
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
# Generer beskedens brødtekst
$strSubj = " Din kontostatus på woshub.com-domænet "
$strBody = "Kære " + $FullUsername
$strBody = $strBody + " `r`n Din konto i woshub.com-domænet er i " + $Status
$strBody = $strBody + "`r`n Datoen og klokkeslættet for sidste adgangskodeændring er: " + $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Vi antager, at Outlook kører, hvis det ikke er det, skal du starte det med kommandoen $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
# Vedhæft en fil (hvis nødvendigt)
$email.Attachments.add($strfile)
#send e-mailbeskeden
$email.Send()
}
$ExcelWorkBook.close($true)
Dette PowerShell-script antager, at Outlook kører på din computer. Scriptet genererer emnet og brødteksten for e-mailen for hver modtagers SMTP-adresse i XLSX-filen og vedhæfter filen. Sender derefter e-mailen.
Ny til VBA-makroer til Outlook-automatisering? Lær, hvordan du indsætter VBA-kode i Outlook 365/2016/2019.
Lær, hvordan du nemt duplikerer Outlook-kalenderbegivenheder, møder og aftaler i Office 365, 2016 og 2019.
Lær, hvordan du kan designe og oprette brugerdefinerede Outlook-brugerformularer.
Outlook-indbakke opdateres ikke automatisk? Lær, hvordan du automatisk kan opdatere din Outlook 365 / 2019 / 2016 / 2013 indbakke automatisk.
Lær, hvordan du tilføjer / indlejrer og sender et gif-billede til din Outlook 2016 og 2019 udgående e-mail.
Lær, hvordan du diagnosticerer og fejlfinder forskellige Microsoft Outlook-klientafbrydelsesproblemer i Windows 10.
Lær at skrive Outlook-makroer for at automatisere afsendelse af e-mail.
Lær, hvordan du deaktiverer påmindelser og meddelelser fra Outlook 2016/2019-kalendere, både på Windows og MAC.
Lær, hvordan du forbedrer din Outlook-ydeevne.
I dette indlæg hjælper du dig godt med at ændre adgangskoden til din Outlook.com-konto og holde din Windows synkroniseret på tværs af alle dine enheder.