Есть ли разница между двумя кодами ниже?Достигают ли они того же самого или, прямо скажем, какой из них лучше, чем другой, имеющий дело с непредвиденными сценариями?objMail - это объект MailItem на сервере Outlook Exchange.
Ваш отзыв будет оценен.
[# 1]
Dim Sender_email As String
Sender_email = vbNullString
If objMail.SenderEmailType = "EX" Then
Sender_email = objMail.Sender.GetExchangeUser.PrimarySmtpAddress
Else
Sender_email = objMail.SenderEmailAddress
End If
[# 2]
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
Dim Sender_PA As Outlook.PropertyAccessor
Set Sender_PA = objMail.Sender.PropertyAccessor
Dim Sender_email As String
Sender_email = vbNullString
If objMail.SenderEmailType = "EX" Then
Sender_email = Sender_PA.GetProperty(PR_SMTP_ADDRESS)
Else
Sender_email = objMail.SenderEmailAddress
End If