Como escribir macros útiles nas mensaxes de Outlook 2016 e 2019?
Novo en VBA Macros para a automatización de Outlook? Aprende a inserir código VBA en Outlook 365 / 2016 / 2019.
En Microsoft Office, usamos Visual Basic para aplicacións (VBA) para crear programas personalizados que melloran a funcionalidade básica de Office e axudan a aforrar tempo automatizando tarefas repetitivas. Referímonos a estes pequenos programas VBA como Macros .
Neste tutorial, queriamos ofrecer o recurso de desenvolvemento de macros máis completo da web para Outlook. Centrarémonos en explorar os conceptos básicos de Outlook VBA para principiantes, aprenderemos a escribir macros e despois analizaremos algunhas ideas de macros útiles máis avanzadas. Segundo os comentarios que obtivemos, despois de seguir este tutorial, deberías poder desenvolver e executar macros VBA sinxelas para Outlook.
Podo gravar unha macro de Outlook?
A diferenza doutras aplicacións de Office, Outlook non ofrece un simple gravador de macros para capturar as accións do usuario e xerar automaticamente o código VBA necesario para nós en segundo plano. Polo tanto, se queremos engadir a nosa propia funcionalidade personalizada a Outlook, necesitaremos aprender a escribir programas VBA sinxelos e incorporalos á nosa sesión de Outlook.
Nota: Se estás interesado en saber como funciona realmente o gravador de macros de Office, recoméndoche que consultes os tutoriais de Macros de MS Word e Excel VBA .
Escribir macros VBA en Outlook
Nota: siga lendo algúns exemplos de código sinxelos para comezar con VBA. Nunca copie código VBA de recursos descoñecidos.
Como configurar a pestana de programador en Outlook?
Se vai desenvolver con frecuencia macros de Outlook, pode querer configurar o seu contorno de desenvolvemento de Office. Parece elegante non? En realidade, é un procedemento bastante sinxelo. Sigue lendo para obter máis detalles:
Exemplos útiles de Outlook VBA
Crea unha mensaxe de correo electrónico
Este sinxelo fragmento crea un novo elemento de mensaxe de correo electrónico mediante programación.
O script comeza creando un elemento de correo de Outlook, despois establece os campos para, asunto, texto do corpo e CC. Finalmente amosa a mensaxe en Outlook para que poida revisalo e envialo manualmente.
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
Nota avanzada: pode usar modelos de Outlook predefinidos ao definir novos correos electrónicos con VBA. Para facelo, terás que aproveitar o método CreateItemFromTemplate e especificar a localización do teu ficheiro de modelo de Outlook (*. oft ).
Enviar un correo electrónico mediante programación
Se queres que Outlook envíe o correo electrónico que acabas de crear automaticamente, podes engadir a seguinte liña ao código publicado anteriormente. Pega a seguinte liña antes da instrución End Sub do fragmento anterior.
MyEmail.Send
Adxunta un ficheiro a un correo electrónico
En moitos casos, desexa automatizar o envío dun correo electrónico cun ficheiro anexo. Este pode ser un documento de Word, folla de cálculo de Excel, presentación de Powerpoint, documentos PDF, etc. Se queres enviar un correo electrónico con anexos mediante programación, utiliza este código:
#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
Notas:
Crea unha tarefa con VBA
O seguinte fragmento crea unha tarefa de Outlook, asígnalla a outra persoa e establece o asunto da tarefa e o texto do corpo.
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
Gardar como HTML
Poucos lectores preguntaron como automatizar o gardar correos electrónicos en HTML. O código a continuación fai exactamente iso.
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
Nota: asegúrese de lanzar este código só nos correos electrónicos abertos en Outlook (non na vista Caixa de entrada/Explorador).
Preguntas relacionadas coas macros de Outlook
Onde se almacenan as macros en Outlook?
Quizais esteas vagando onde se almacena exactamente a túa Macro usada. Pois ben, a diferenza de Excel por exemplo, que permite gardar macros no ficheiro personal.xlb ou en follas de cálculo específicas; todas as macros de Microsoft Outlook almacénanse nun ficheiro global no seu sistema de ficheiros. En concreto, o ficheiro que almacena todas as macros chámase VBAProject.otm. O ficheiro pódese atopar en: C:\users\\AppData\Roaming\Microsoft\Outlook.
Botón de acceso directo para macros de Outlook
O noso seguinte paso é inserir un pequeno botón de atallo que nos permitirá executar facilmente a macro. Para simplificar, inseriremos este botón na barra de ferramentas de acceso rápido.
Nota: podes usar un procedemento similar para colocar a túa icona na propia cinta en lugar de na barra de ferramentas de acceso rápido.
Como activar unha macro en Outlook?
Este paso é opcional e só debe seguirse se recibe unha mensaxe de erro ao executar a macro que acaba de crear.
Nota: A túa configuración de seguranza actual pode impedir que as macros se executen en Outlook. Aquí tes un tutorial sobre como proceder se as macros están desactivadas no teu proxecto de macros de Outlook .
Como usar a túa macro de Outlook?
Por último, pero non menos importante, agora é o momento de executar a macro que acaba de crear.
Ideas adicionais de macros de Outlook
Varios dos nosos lectores preguntaron se podíamos especificar máis ideas para a automatización de Outlook. Aquí tes algúns para comezar.
Próximos pasos
Novo en VBA Macros para a automatización de Outlook? Aprende a inserir código VBA en Outlook 365 / 2016 / 2019.
Aprende a duplicar facilmente eventos, reunións e citas do calendario de Outlook en Office 365, 2016 e 2019.
Aprende como podes deseñar e crear formularios de usuario personalizados de Outlook.
A caixa de entrada de Outlook non se actualiza automaticamente? Aprende como podes actualizar automaticamente a túa caixa de entrada de Outlook 365/2019/2016/2013.
Aprende a engadir/incrustar e enviar unha imaxe gif ao teu correo electrónico de saída de Outlook 2016 e 2019.
Aprende a diagnosticar e solucionar problemas diferentes de desconexión de clientes de Microsoft Outlook en Windows 10.
Aprende a escribir macros de Outlook para automatizar o envío de correos electrónicos.
Aprende a desactivar os recordatorios e as notificacións dos calendarios de Outlook 2016/2019, tanto en Windows como en MAC.
Aprende a mellorar o teu rendemento de Outlook.
Nesta publicación axúdache a cambiar o contrasinal da túa conta de Outlook.com e manter sincronizado o teu Windows en todos os teus dispositivos.