回答編集履歴
1
コードの修正
answer
CHANGED
@@ -21,10 +21,11 @@
|
|
21
21
|
Let GetSenderSMTPAddress = iMail.SenderEmailAddress: _
|
22
22
|
Exit Function
|
23
23
|
|
24
|
-
Dim sender As Object 'As Outlook.AddressEntry
|
25
|
-
Set sender = iMail.sender
|
26
24
|
|
25
|
+
Dim mailSender As Object 'As Outlook.AddressEntry
|
26
|
+
Set mailSender = iMail.Sender
|
27
|
+
|
27
|
-
If
|
28
|
+
If mailSender Is Nothing Then _
|
28
29
|
Exit Function 'return vbNullString
|
29
30
|
|
30
31
|
|
@@ -33,13 +34,13 @@
|
|
33
34
|
olExchangeRemoteUserAddressEntry = 5
|
34
35
|
|
35
36
|
'Now we have an AddressEntry representing the Sender
|
36
|
-
Select Case
|
37
|
+
Select Case mailSender.AddressEntryUserType
|
37
|
-
Case
|
38
|
+
Case olExchangeUserAddressEntry, _
|
38
|
-
|
39
|
+
olExchangeRemoteUserAddressEntry
|
39
40
|
|
40
41
|
'Use the ExchangeUser object PrimarySMTPAddress
|
41
42
|
Dim exchUser As Object 'As Outlook.ExchangeUser
|
42
|
-
Set exchUser =
|
43
|
+
Set exchUser = mailSender.GetExchangeUser()
|
43
44
|
|
44
45
|
If exchUser Is Nothing Then _
|
45
46
|
Exit Function 'return vbNullString
|
@@ -48,10 +49,9 @@
|
|
48
49
|
|
49
50
|
Case Else
|
50
51
|
Let GetSenderSMTPAddress = _
|
51
|
-
|
52
|
+
CStr(mailSender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS))
|
52
53
|
|
53
54
|
End Select
|
54
55
|
|
55
56
|
End Function
|
56
|
-
|
57
57
|
```
|