without mail macro from ejemplos application vba email outlook outlook-vba

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