Hola: Esto no es una duda, sino la resolución de una duda. Tenía la necesidad de enviar mensajes utilizando Outlook desde Access, he buscado en la inmensidad de los 2 grupos de Access en español y no había encontrado la solución, así que me he puesto a pegarme con los 2 Outlook y Access y ha salido esto tan sencillo... Sub EnvioCorreo() Dim OutLookApp As Outlook.Application Dim Msg As Outlook.MailItem Dim Dire(3) As String Dim X As Long Dire(1) = "uno@QUITAESTOjajaja.com" Dire(2) = "dos@QUITAESTOjajaja.com" Dire(3) = "tres@QUITAESTOjajaja.com" Set OutLookApp = New Outlook.Application For X = 1 To 3 Set Msg = OutLookApp.CreateItem(olMailItem) Msg.Subject = "Esto es el asunto" Msg.Body = "Y esto el cuerpo del mensaje: Hola " & Dire(X) Msg.To = Dire(X) Msg.Send Next X OutLookApp = Nothing End Sub Y ejecutando este código se envían 3 mensajes, uno a cada una de las tres direcciones guardadas en dire(), las propiedades .subject, .body y .to no hace falta indicarlas... y hay muchas más. ¿Qué tengo instalado en mi ordenador? Access 97 y Outlook 2000, supongo que con Access 2000 o XP y Outlook 2000 no habrá ningún problema, tengo mis dudas con Outlook 97, pues me parece que la librería que hay que incluir en Referencias no contiene lo que aquí uso. Eso, que se me olvidaba, antes de meter este código, incluí en las Referencias la librería: "Microsoft Outlook 9.0 Object Library", ya sabéis, estando abierta una ventana de código, menú Herramientas->Referencias. Un saludo a todos MODIFICACION POSTERIOR DE CARCAR Sub EnvioCorreo() Dim OutLookApp As Outlook.Application Dim Msg As Outlook.MailItem Dim Pie As Outlook.PostItem Dim Dire(2) As String Dim X As Long Dim TxtHTMLCab As String Dim TxtHTMLPie As String Open "C:\cabecera.txt" For Input As #1 TxtHTMLCab = Input(3450, #1) Close #1 Open "C:\piefirma.txt" For Input As #1 TxtHTMLPie = Input(1432, #1) Close #1 Dire(1) = "ccarpioh@kkkk.es" Dire(2) = "ccarpioh@kkkk.es" Set OutLookApp = New Outlook.Application For X = 1 To 2 Set Msg = OutLookApp.CreateItem(olMailItem) Msg.Subject = "Esto es el asunto" Msg.HTMLBody = TxtHTMLCab & "" & Dire(X) & "" & TxtHTMLPie Msg.To = Dire(X) Msg.Attachments.Add "C:\cabecera.txt" Msg.Attachments.Add "C:\piefirma.txt" Msg.Send Next X Set Msg = Nothing Set OutLookApp = Nothing MsgBox "Fin de envio" End Sub Evidentemente el bucle, que aquí lo que hacer es, recorrer el contenido de una matriz, podría recorrer los registros de un recordset... La parte más divertida ha sido incluir código HTML en la propiedad HTMLBody que es la que se utiliza para enviar éste tipo de código (en lugar de la .body que utilizaba en la anterior). Las cabeceras y pie del mensaje, fueron creados con un editor de HTML y copiado el código HTML en los ficheros .txt cabecera.txt y piefirma.txt. Los he leído "a pedal" con las viejas instrucciones del BASIC, para lo que he tenido que darles el tamaño EXACTO de los mismos... Todo lo anterior porque no puedes incluir código HTML dentro de los módulos, sobre todo si el código es complejo, lleno de comillas dobles, barras, etc. Como se puede ver, también se pueden añadir ficheros vinculados al "emilio". ¡toy más contento! Creo que todo esto NO SE PUEDE HACER con OUTLOOK 97, debe de ser 2000 o siguientes.