vba - mail - SenderName de la macro de Outlook está en blanco
send outlook email from excel using vba (2)
Prueba lo siguiente ...
Usa el código en el módulo regular
Option Explicit
Public Sub Example()
Dim olMsg As mailitem
Set olMsg = ActiveExplorer.Selection.Item(1)
''// All print on Immediate Window
Debug.Print olMsg.SenderName
Debug.Print olMsg.sender
Debug.Print olMsg.SenderEmailAddress
Debug.Print olMsg.Categories
Debug.Print olMsg.subject
Debug.Print olMsg.To
Debug.Print olMsg.CC
Debug.Print olMsg.ReceivedByName
Debug.Print olMsg.SenderEmailType
End Sub
Deseo obtener las propiedades de SenderName
y To
de un objeto de MailItem
, pero están en blanco.
Veo que hay SentOn
, Subject
y otras propiedades que no están en blanco. ¿Alguien sabe por qué estos dos están en blanco?
Aquí está mi código:
Sub TestMacro()
Dim myOlApp As New Outlook.Application
Dim myOlexp As Outlook.Explorer
On Error Resume Next
Set myOlExp = myOlApp.ActiveExplorer
Set myOlSel = myOlExp.Selection
For Each myItem In myOlSel
strRawSubj = myItem.Subject
strSender = myItem.SenderName ''blank
strLongTo = myItem.To ''blank
Next
End Sub
EDITAR: Esto funciona si ejecuto Outlook como administrador. ¿Es posible obtener estos valores sin tener que ejecutar Outlook como administrador?
prueba esto por favor
Sub TestMacro()
Dim myOlexp As Outlook.Explorer
Dim myOlSel As Selection
'' On Error Resume Next '' do not use during development ... hides errors
Set myOlexp = Application.ActiveExplorer '' "Application" object already exists
Set myOlSel = myOlexp.Selection
For Each myItem In myOlSel
Debug.Print Len(myItem.Subject) '' print the length of each string
Debug.Print Len(myItem.SenderName) '' maybe the strings are being obfuscated somehow
Debug.Print Len(myItem.To)
Next
Set myOlSel = Nothing
Set myOlexp = Nothing
End Sub