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.
I Microsoft Office bruger vi Visual Basic for Applications (VBA) til at skabe brugerdefinerede programmer, der forbedrer Offices grundlæggende funktionalitet og hjælper med at spare tid ved at automatisere gentagne opgaver. Vi omtaler disse små VBA-programmer som makroer .
I denne øvelse ønskede vi at levere internettets mest komplette makroudviklingsressource til Outlook. Vi vil fokusere på at udforske det grundlæggende i Outlook VBA for begyndere, lære at skrive makroer og derefter se på nogle mere avancerede nyttige makroideer. Baseret på feedback, vi fik, efter at have gennemgået denne tutorial, skulle du være i stand til at udvikle og køre simple VBA-makroer til Outlook.
Kan jeg optage en Outlook-makro?
I modsætning til andre Office-apps tilbyder Outlook ikke en simpel makrooptager til at fange brugerhandlinger og automatisk generere den nødvendige VBA-kode til os i baggrunden. Derfor, hvis vi ønsker at tilføje vores egen brugerdefinerede funktionalitet til Outlook, bliver vi nødt til at lære at skrive simple VBA-programmer og inkorporere dem i vores Outlook-session.
Bemærk: Hvis du er interesseret i at vide, hvordan Office-makrooptageren faktisk fungerer, vil jeg anbefale at se nærmere på MS Word-makroerne og Excel VBA-makro-tutorials .
Skrivning af VBA-makroer i Outlook
Bemærk: Læs videre for nogle enkle kodeeksempler for at komme i gang med VBA. Kopier aldrig VBA-kode fra ukendte ressourcer.
Hvordan konfigurerer man udviklerfanen i Outlook?
Hvis du ofte skal udvikle Outlook-makroer, kan det være en god idé at konfigurere dit Office-udviklingsmiljø. Lyder det fancy, ikke? Faktisk er det en ret simpel procedure. Læs videre for detaljerne:
Nyttige Outlook VBA-eksempler
Opret en e-mail-besked
Dette enkle uddrag opretter et nyt e-mail-element programmatisk.
Scriptet starter med at oprette en Outlook-postemne, hvorefter det indstiller felterne til, emne, brødtekst og CC. Til sidst viser den beskeden i Outlook, så du kan gennemgå og sende den manuelt.
Public Sub CreateMail() Dim MyEmail As MailItem ' Create a new Outlook message item programatically Set MyEmail = Application.CreateItem(olMailItem) 'Set your new message to, subject, body text and cc fields. With MyEmail .To = "[email protected]" .Subject = "Insert your message subject here" .Body = "Insert your email text body here" .CC = "[email protected]" End With MyEmail.Display End Sub
Avanceret note: Du er i stand til at bruge foruddefinerede Outlook-skabeloner, når du definerer nye e-mails med VBA. For at gøre det skal du bruge metoden CreateItemFromTemplate og angive placeringen af din Outlook-skabelonfil (*. oft ).
Send en e-mail programmatisk
Hvis du ønsker, at Outlook automatisk skal sende den e-mail, du lige har oprettet, automatisk, kan du tilføje følgende linje til koden ovenfor. Indsæt den følgende linje før End Sub - sætningen i det forrige uddrag.
MyEmail.Send
Vedhæft en fil til en e-mail
I mange tilfælde vil du gerne automatisere afsendelsen af en e-mail med en fil vedhæftet den. Dette kan være et Word-dokument, Excel-regneark, Powerpoint-præsentation, PDF-dokumenter osv'. Hvis du vil sende en e-mail med vedhæftede filer programmatisk, skal du bruge denne kode:
#VBA Code Dim MyEmail As MailItem ' Create a new Outlook message item programatically Set MyEmail = Application.CreateItem(olMailItem) 'Define your attachment folder path and file name - modify this part as needed Dim AttachFolder, AttachFile As String AttachFolder = "C:\" AttachFile = "test.txt" 'Set your new message to, subject, body text and cc fields. With MyEmail .To = "recipient@my_server.com; mysecondrecipient@my_server.com" .Subject = "This is your message subject" .Body = "Insert your email text body here" .CC = "cc@my_server.com" .Attachments.Add AttachFolder & AttachFile End With MyEmail.Display End Sub
Bemærkninger:
Opret en opgave med VBA
Følgende uddrag opretter en Outlook-opgave, tildeler den til en anden person og angiver opgavens emne og brødtekst.
Public Sub CreateTask() Dim MyTask As TaskItem ' Create a new Outlook task Set MyTask = Application.CreateItem(olTaskItem) 'Set your new task recipients and information fields With MyTask .Assign .Recipients.Add "taskrecipient@my_server.com" .Subject = "This is your task subject" .Body = "Insert a thorough explanation of your task here." End With MyTask.Display End Sub
Gem som HTML
Få læsere spurgte, hvordan man automatiserer lagring af e-mails til HTML. Koden nedenfor opnår præcis det.
Public Sub SaveAsHTML() On Error Resume Next Dim MyWindow As Outlook.Inspector Dim MyItem As MailItem Dim FilePath As String FilePath = Environ("HOMEPATH") & "\Documents\" & "\" Dim ItemName As String Set MyWindow = Application.ActiveInspector If TypeName(MyWindow) = "Nothing" Then MsgBox ("Kindly open an email to save") Else Set MyItem = MyWindow.CurrentItem ItemName = MyItem.Subject ' File name will be identical to the message subject With MyItem .SaveAs FilePath & ItemName & ".html", olHTML End With End If End Sub
Bemærk: Sørg for, at du kun starter denne kode på e-mails, der er åbne i Outlook (ikke i visningen Indbakke/Explorer).
Outlook-makroer relaterede spørgsmål
Hvor er makroer gemt i Outlook?
Du vandrer måske, hvor præcis din brugte makro er gemt. Nå, i modsætning til for eksempel i Excel, som giver dig mulighed for at gemme makroer i personal.xlb-filen eller i specifikke regneark; alle Microsoft Outlook-makroer er gemt i én global fil i dit filsystem. Helt konkret hedder filen, der gemmer alle dine makroer, VBAProject.otm. Filen kan findes på: C:\users\\AppData\Roaming\Microsoft\Outlook.
Genvejsknap til Outlook-makroer
Vores næste trin er at indsætte en lille genvejsknap, som giver os mulighed for nemt at køre makroen. For nemheds skyld indsætter vi denne knap på værktøjslinjen Hurtig adgang.
Bemærk: Du kan bruge en lignende procedure til at placere dit ikon i selve båndet i stedet for i værktøjslinjen Hurtig adgang.
Hvordan aktiverer man en makro i Outlook?
Dette trin er valgfrit og bør kun følges, hvis du modtager en fejlmeddelelse, når du kører din nyoprettede makro.
Bemærk: Dine aktuelle sikkerhedsindstillinger forhindrer muligvis makroer i at køre i Outlook. Her er en vejledning i, hvordan du fortsætter, hvis makroer er deaktiveret i dit Outlook-makroprojekt .
Hvordan bruger du din Outlook-makro?
Sidst men bestemt ikke mindst, nu er det tid til at køre din nyoprettede makro.
Yderligere ideer til Outlook-makroer
Flere af vores læsere spurgte, om vi kunne specificere yderligere ideer til Outlook Automation. Her er et par stykker til at komme i gang.
Næste skridt
Opret en genvej til din makro, så du nemt kan få adgang til dem i fremtiden. Sådan opretter du en makrogenvej:
Hvis du nogensinde vil fjerne denne genvej fra værktøjslinjen, skal du blot højreklikke på den og vælge Fjern fra værktøjslinjen Hurtig adgang. a>
Her er en anden måde, du kan finde dine eksisterende makroer på:
Sådan ændrer eller redigerer du dine Outlook-makroindstillinger:
Herfra har du mulighed for at:
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.