teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コードの修正

2018/06/27 12:35

投稿

imihito
imihito

スコア2166

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 sender Is Nothing Then _
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 True
37
+ Select Case mailSender.AddressEntryUserType
37
- Case sender.AddressEntryUserType = olExchangeUserAddressEntry, _
38
+ Case olExchangeUserAddressEntry, _
38
- sender.AddressEntryUserType = olExchangeRemoteUserAddressEntry
39
+ olExchangeRemoteUserAddressEntry
39
40
 
40
41
  'Use the ExchangeUser object PrimarySMTPAddress
41
42
  Dim exchUser As Object 'As Outlook.ExchangeUser
42
- Set exchUser = sender.GetExchangeUser()
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
- sender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
52
+ CStr(mailSender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS))
52
53
 
53
54
  End Select
54
55
 
55
56
  End Function
56
-
57
57
  ```