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.
I Microsoft Office använder vi Visual Basic for Applications (VBA) för att skapa anpassade program som förbättrar Offices grundläggande funktionalitet och hjälper till att spara tid genom att automatisera repetitiva uppgifter. Vi hänvisar till dessa små VBA-program som makron .
I den här handledningen ville vi tillhandahålla webbens mest kompletta makroutvecklingsresurs för Outlook. Vi kommer att fokusera på att utforska grunderna i Outlook VBA för nybörjare, lära oss att skriva makron och sedan titta på några mer avancerade användbara makroidéer. Baserat på feedback vi fick, efter att ha gått igenom denna handledning, bör du kunna utveckla och köra enkla VBA-makron för Outlook.
Kan jag spela in ett Outlook-makro?
Till skillnad från andra Office-appar erbjuder Outlook inte en enkel makroinspelare för att fånga användaråtgärder och automatiskt generera den nödvändiga VBA-koden åt oss i bakgrunden. Därför, om vi vill lägga till vår egen anpassade funktionalitet till Outlook, måste vi lära oss att skriva enkla VBA-program och införliva dem i vår Outlook-session.
Obs: Om du är intresserad av att veta hur Office-makroinspelaren faktiskt fungerar, rekommenderar jag att du tittar in i handledningarna för MS Word-makron och Excel VBA-makro .
Skriva VBA-makron i Outlook
Obs: Läs vidare för några enkla kodexempel för att komma igång med VBA. Kopiera aldrig VBA-kod från okända resurser.
Hur ställer jag in utvecklarfliken i Outlook?
Om du ofta kommer att utveckla Outlook-makron, kanske du vill konfigurera din Office-utvecklingsmiljö. Låter fancy är det inte? Egentligen är det en ganska enkel procedur. Läs vidare för detaljer:
Användbara Outlook VBA-exempel
Skapa ett e-postmeddelande
Det här enkla utdraget skapar ett nytt e-postmeddelande programmatiskt.
Skriptet börjar med att skapa ett Outlook-postobjekt, sedan ställer det in till, ämne, brödtext och CC-fält. Slutligen visar den meddelandet i Outlook så att du kan granska och skicka det manuellt.
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
Avancerad notering: Du kan använda fördefinierade Outlook-mallar när du definierar nya e-postmeddelanden med VBA. För att göra det måste du använda metoden CreateItemFromTemplate och ange platsen för din Outlook-mallfil (*. oft ).
Skicka ett e-postmeddelande programmatiskt
Om du vill att Outlook ska skicka ut e-postmeddelandet du just har skapat automatiskt kan du lägga till följande rad i koden ovan. Klistra in följande rad före End Sub - satsen i föregående kodavsnitt.
MyEmail.Send
Bifoga en fil till ett e-postmeddelande
I många fall skulle du vilja automatisera att skicka ett e-postmeddelande med en fil bifogad. Detta kan vara ett Word-dokument, Excel-kalkylblad, Powerpoint-presentation, PDF-dokument etc. Om du vill skicka ett e-postmeddelande med bilagor programmatiskt, använd denna kod:
#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
Anmärkningar:
Skapa en uppgift med VBA
Följande utdrag skapar en Outlook-uppgift, tilldelar den till en annan person och anger uppgiftens ämne och brödtext.
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
Spara som HTML
Få läsare frågade hur man automatiserar att spara e-postmeddelanden till HTML. Koden nedan åstadkommer exakt 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
Obs: Se till att du bara startar den här koden på e-postmeddelanden som är öppna i Outlook (inte i vyn Inkorg/Utforskare).
Outlook-makron relaterade frågor
Var lagras makron i Outlook?
Du kanske vandrar var exakt ditt använda makro är lagrat. Tja, till skillnad från i Excel till exempel, som låter dig lagra makron i personal.xlb-filen eller i specifika kalkylblad; alla Microsoft Outlook-makron lagras i en global fil i ditt filsystem. Närmare bestämt heter filen som lagrar alla dina makron VBAProject.otm. Filen finns på: C:\users\\AppData\Roaming\Microsoft\Outlook.
Genvägsknapp för Outlook-makron
Vårt nästa steg är att infoga en liten genvägsknapp som gör att vi enkelt kan köra makrot. För enkelhetens skull infogar vi den här knappen i verktygsfältet Snabbåtkomst.
Obs: Du kan använda en liknande procedur för att placera din ikon i själva menyfliksområdet istället för i verktygsfältet Snabbåtkomst.
Hur aktiverar man ett makro i Outlook?
Det här steget är valfritt och bör endast följas om du får ett felmeddelande när du kör ditt nyskapade makro.
Obs! Dina nuvarande säkerhetsinställningar kan förhindra att makron körs i Outlook. Här är en handledning om hur du går tillväga om makron är inaktiverade i ditt Outlook-makroprojekt .
Hur använder jag ditt Outlook-makro?
Sist men definitivt inte minst, nu är det dags att köra ditt nyskapade makro.
Ytterligare Outlook-makronidéer
Flera av våra läsare frågade om vi kunde ange ytterligare idéer för Outlook Automation. Här är några för att komma igång.
Nästa steg
Skapa en genväg för ditt makro så att du enkelt kan komma åt dem i framtiden. Så här skapar du en makrogenväg:
Om du någonsin vill ta bort den här genvägen från verktygsfältet högerklickar du bara på den och väljer Ta bort från verktygsfältet Snabbåtkomst. a>
Här är ett annat sätt att hitta dina befintliga makron:
Så här ändrar eller redigerar du dina Outlook-makroinställningar:
Härifrån har du möjlighet att:
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.