Visual Basic para Aplicaciones - dirección de email

Life is soft - evento anual de software empresarial
 
Vista:

dirección de email

Publicado por Pablo (77 intervenciones) el 03/05/2018 10:07:19
Tengo un pequeño problema con el MailItem (Outlook).

Envío un documento Excel como adjunto, en el que el usuario solo tiene que rellenar unos campos y pulsar un botón.

El que lo recibe solo tiene que validarlo o rechazarlo, pulsando sendos botones.

Si lo valida, no hay problema.

El problema lo tengo si lo rechaza, porque lo que quiero es que el archivo se introduzca como adjunto en un email y se le envíe a la persona que lo generó.

Para ello he pensado en tomar la propiedad SenderEmailAddress del objeto MailItem que uso para enviar el archivo la primera vez. Lo podría almacenar en una celda y luego usarlo.

Pero me sale vacío.

Es decir, si después de declarar los objetos Outlook.Application y MailItem quiero almacenar .SenderEmailAddress en una variable y mostrarla en un Msgbox, me sale en blanco.

Os pongo el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub EnviarPorEmail()
    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Dim Usuario As String
 
On Error Resume Next
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
 
    Usuario = OutMail.SenderEmailAddress
 
    MsgBox Usuario
 
    Set OutApp = Nothing
    Set OutMail = Nothing
 
End Sub

Uso Windows 10 y Office 365
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

dirección de email [Solucionado]

Publicado por Pablo (77 intervenciones) el 04/05/2018 13:16:27
He encontrado una función en VBA que me da lo que busco

1
2
3
4
5
6
Function GetOutlookCurrentUserEMail() As String
    Dim NameSpace As Object
    Application.Volatile   'No es importante que sea volátil para mi caso.
    Set NameSpace = CreateObject("Outlook.Application").GetNameSpace("MAPI")
    GetOutlookCurrentUserEMail = NameSpace.Accounts.Item(1)
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar