Cómo automatizar Outlook con Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 220595 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se demuestra cómo controlar mediante programación Microsoft Outlook utilizando la automatización de Visual Basic. El ejemplo muestra la creación de contactos y citas, y el envío de mensajes con el modelo de objetos de Microsoft Outlook.

Más información

Siga los pasos siguientes crear y ejecutar el ejemplo. Para ejecutar el ejemplo, necesita una referencia enlazada en tiempo de compilación a una biblioteca de tipos de Microsoft Outlook. La tabla siguiente muestra los nombres de archivo de las bibliotecas de tipos de las diferentes versiones de Microsoft Outlook:
Contraer esta tablaAmpliar esta tabla
Versión de Outlook:Cómo aparece la biblioteca de tipos en la lista de referenciasNombre de archivo
Outlook 97"Biblioteca de objetos de Microsoft Outlook 8.0"msoutl8.olb
msoutl8.olb"Biblioteca de objetos de Microsoft Outlook 98"msoutl85.olb
Outlook 2000"Biblioteca de objetos de Microsoft Outlook 9.0"msoutl9.olb
Outlook 2002"Biblioteca de objetos de Microsoft Outlook 10.0"msoutl.olb
Office Outlook 2003"Biblioteca de objetos de Microsoft Outlook 11.0"msoutl.olb

Generar el ejemplo de automatización

  1. Inicie Visual Basic y cree un nuevo proyecto EXE estándar.
  2. En el menú Proyecto, elija Referencias y seleccione Microsoft Outlook.
  3. Agregue un botón a su formulario.
  4. Haga doble clic en el botón y, a continuación, agregue el código siguiente:
     ' Iniciar Outlook. ' Si ya se está ejecutando, utilizará la misma instancia... Dim olApp As Outlook.Application Set olApp = CreateObject("Outlook.Application")
        
     'Inicio de sesión. No importa si ya lo está ejecutando y tiene iniciada una sesión... Dim olNs As Outlook.NameSpace Set olNs = olApp.GetNamespace("MAPI") olNs.Logon
    
     ' Crear y abrir un contacto nuevo. Dim olItem As Outlook.ContactItem Set olItem = olApp.CreateItem(olContactItem)
    
     'Configurar la información de contacto... With olItem .FullName = "James Smith" .Birthday = "9/15/1975" .CompanyName = "Microsoft" .HomeTelephoneNumber = "704-555-8888" .Email1Address = "alguien@microsoft.com" .JobTitle = "Developer" .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226" End With
       
     ' Guardar el contacto... olItem.Save
        
     ' Crear una nueva cita. Dim olAppt As Outlook.AppointmentItem Set olAppt = olApp.CreateItem(olAppointmentItem)
        
     ' Establecer la hora de inicio 2 minutos a partir de ahora... olAppt.Start = Now() + (2# / 24# / 60#)
        
     ' Configurar la información de  otra cita... With olAppt .Duration = 60 .Subject = "Reunión para discutir los planes..." .Body = "Reunión con" & olItem.FullName & " para discutir los planes." .Location = "Oficina doméstica" .ReminderMinutesBeforeStart = 1 .ReminderSet = True End With
        
     ' Guardar la cita... olAppt.Save
        
     ' Enviar un mensaje al nuevo contacto. Dim olMail As Outlook.MailItem Set olMail = olApp.CreateItem(olMailItem) ' Rellenar y enviar el mensaje... olMail.To = olItem.Email1Address olMail.Subject = "Acerca de nuestra reunión..." olMail.Body = _ "Estimado/a" & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _ "te veré dentro de dos minutos en la reunión." & vbCr & vbCr & _ "Btw: Lo he agregado a mi lista de contactos."olMail.Send
        
     ' Limpiar... MsgBox "Todo terminado...", vbMsgBoxSetForeground olNS.Logoff Set olNs = Nothing Set olMail = Nothing Set olAppt = Nothing Set olItem = Nothing Set olApp = Nothing
    						
  5. Ejecute el proyecto y haga clic en el botón para ejecutar el código.
Cuando el código se ejecute, debería tener un nuevo contacto denominado "James Smith" y una cita programada en dos minutos con un aviso para aparecer en un minuto, y haber enviado un mensaje a alguien@microsoft.com. Además, dado que agregó un cumpleaños para su contacto (9/15), se agregó un evento periódico para que el Calendario de Outlook se lo recuerde ese día.

En Outlook 2002 son nuevos los dos cuadros de diálogo: uno que le advierte de que un programa está intentando tener acceso a las direcciones de correo electrónico que ha almacenado en Outlook y que le pregunta si desea permitirlo, y otro mensaje para indicarle que un programa está intentando enviar correo electrónico. Esta característica impedirá que un virus lo use para enviar correo electrónico desde su sistema sin su conocimiento.

Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290500 Descripción de las características de seguridad del correo electrónico para desarrolladores en Outlook 2002

Referencias

Para obtener información adicional acerca de los recursos de programación de Outlook, haga clic en los número de artículo siguientes para verlos en Microsoft Knowledge Base:
166368 Recursos de formularios personalizados y programación en Outlook 97
180826 Recursos de formularios personalizados y programación en Outlook 98
271225 Recursos de formularios personalizados y programación en Outlook 2000
287531 Lista de recursos de formularios personalizados y programación con Outlook 2002
313802 Cómo recuperar contactos utilizando el modelo de objetos de Outlook en Visual Basic .NET
313788 Cómo crear una cita utilizando el modelo de objetos de Outlook en Microsoft Visual Basic .NET

Propiedades

Id. de artículo: 220595 - Última revisión: jueves, 02 de noviembre de 2006 - Versión: 9.1
La información de este artículo se refiere a:
  • Microsoft Visual Basic 6.0 Edición empresarial
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard
  • Microsoft Outlook 2000 Standard
  • Microsoft Outlook 97 Standard
  • Microsoft Outlook 98 Standard
Palabras clave: 
kbautomation kbhowto kboutlookobj KB220595

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com