outlook メール送信時にマクロで差出人と既定のアカウント以外の差出人を取得する
outlookで、「Session.CurrentUser.Address」で差出人を取得しようとすると差出人を変更しても規定のアカウントの差出人が取得されるので、既定のアカウント以外の差出人を取得する手順を記述してます。
環境
- OS windows11 pro
送信時に差出人を取得
以下のように、差出人を複数選択できるような場合は、差出人を変更しても「Session.CurrentUser.Address」で差出人を取得しても既定のアカウント以外の差出人は取得されません。
送信時に既定のアカウント以外の差出人も含む、現在選択されているアカウントを取得するには、
「SendUsingAccount」で現在選択されている差出人を取得することで、差出人が変更されていてもアドレスを取得することができます。
Option Explicit
' 送信ボタンイベント
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error GoTo Exception
Dim fromAddress As String ' 差出人アドレス取得用
If Item.SendUsingAccount Is Nothing Then
' 規定でなければ空を挿入
fromAddress = ""
Else
' 規定のアドレス以外
fromAddress = Item.SendUsingAccount
End If
' 規定のアドレスが使用されていれば、既定のアカウントを取得する
If fromAddress = "" Then
fromAddress = Item.Session.CurrentUser.Address '差出人を取得して
End If
Exception:
MsgBox CStr(Err.Number) & ":" & Err.Description, vbOKOnly + vbCritical
Cancel = True
Exit Sub
GoTo EXIT_SECTION
EXIT_SECTION:
End Sub
-
前の記事
MariaDB 小数点以下の四捨五入を行う 2023.01.01
-
次の記事
Fork ブランチを作成する 2023.01.02
コメントを書く