Hola a todos, quisiera saber si alguien tiene idea de como puedo hacerle para poder crear un correo en outlook Y (notesé que dije en voz alta el Y ) me muestre la ventana de ese correo ya formado listo para que el usuario lo envie...
Intenté hacerlo de la siguiente manera...
Private Sub CommandButton1_Click()
Dim lo_outlook As Object
Dim lo_correo As Object
Dim lo_espacio As Object
Dim lo_ventana As Object
Set lo_outlook = CreateObject("Outlook.Application")
Set lo_espacio = lo_outlook.getnamespace("MAPI")
'por si ya esta abierta una ventana de outlook
If lo_outlook.explorers.Count > 0 Then
Set lo_ventana = lo_outlook.explorers.Item(1)
Else
Set lo_ventana = lo_outlook.explorers.Add(lo_espacio.getdefaultfolder(6), 0)
End If
'Muestra la ventana del outlook
lo_ventana.Display
'crea el correo .... hasta aquí todo bien
Set lo_correo = lo_outlook.createitem(0)
With lo_correo
.to = "algun_correo@servidor.com"
.Subject = "Algo"
.attachments.Add "c:\directorio\archivo.ext"
End With
'Aquí el problema.... no me muestra el correo creado
lo_correo.Display
Set lo_outlook = Nothing
End Sub
Solo deja abierta la ventana de outlook (cosa que es parte de lo que quiero), pero al final no me muestra la ventanita del correo formado para que el usuario revise si esta correctamente formado y lo envie manualmente.
Alguna idea?
Saludos y gracias por su tiempo...
PD. Sé que se puede hacer con otras versiones como el .NET, 2005 y demás lenguajes, pero por licenciamiento es del que dispongo (VB6) y sé que se pueden enviar con winsock (por ejemplo), pero para mi lo importante son los archivos adjuntos y en winsock no se como se adjuntan.
Ya chequé cual fue el primer problema, es que el código lo estoy ejecutando desde una macro de word y el f*****g outlook utiliza Word (haganme el favor) como editor de correo y el formulario era modal.
Gracias de todas formas. Felices fiestas, Feliz año para todos...
Intenté hacerlo de la siguiente manera...
Private Sub CommandButton1_Click()
Dim lo_outlook As Object
Dim lo_correo As Object
Dim lo_espacio As Object
Dim lo_ventana As Object
Set lo_outlook = CreateObject("Outlook.Application")
Set lo_espacio = lo_outlook.getnamespace("MAPI")
'por si ya esta abierta una ventana de outlook
If lo_outlook.explorers.Count > 0 Then
Set lo_ventana = lo_outlook.explorers.Item(1)
Else
Set lo_ventana = lo_outlook.explorers.Add(lo_espacio.getdefaultfolder(6), 0)
End If
'Muestra la ventana del outlook
lo_ventana.Display
'crea el correo .... hasta aquí todo bien
Set lo_correo = lo_outlook.createitem(0)
With lo_correo
.to = "algun_correo@servidor.com"
.Subject = "Algo"
.attachments.Add "c:\directorio\archivo.ext"
End With
'Aquí el problema.... no me muestra el correo creado
lo_correo.Display
Set lo_outlook = Nothing
End Sub
Solo deja abierta la ventana de outlook (cosa que es parte de lo que quiero), pero al final no me muestra la ventanita del correo formado para que el usuario revise si esta correctamente formado y lo envie manualmente.
Alguna idea?
Saludos y gracias por su tiempo...
PD. Sé que se puede hacer con otras versiones como el .NET, 2005 y demás lenguajes, pero por licenciamiento es del que dispongo (VB6) y sé que se pueden enviar con winsock (por ejemplo), pero para mi lo importante son los archivos adjuntos y en winsock no se como se adjuntan.
Ya chequé cual fue el primer problema, es que el código lo estoy ejecutando desde una macro de word y el f*****g outlook utiliza Word (haganme el favor) como editor de correo y el formulario era modal.
Gracias de todas formas. Felices fiestas, Feliz año para todos...