[VBS]Outlookでメールを送信したい
全体
' Outlookのインスタンスを生成 ---0
Set olApp = CreateObject("Outlook.Application")
' 送信アカウントを指定したい場合 ---1
For Each olAccount In olApp.Session.Accounts
If olAccount.AccountType = 使用したいアカウントタイプ Then
Set mi = olApp.CreateItem(olMailItem)
Set mi.SendUsingAccount = olAccount
Exit For
End If
Next
' 送信するメールの内容を設定 ---2
With mi
.To = "TOに設定したいメールアドレス"
.CC = "CCに設定したいメールアドレス"
.BCC = "BCCに設定したいメールアドレス"
.Subject = "件名"
.Body = "本文"
.BodyFormat = メール形式
.Display
End With
' メモリ開放 ---3
Set mi = Nothing
Set olApp = Nothing
部分
0)インスタンス生成
Outlookを動かすための準備。
' Outlookのインスタンスを生成 ---0
Set olApp = CreateObject("Outlook.Application")
1)送信アカウントを指定
下記に該当する場合に指定。該当しなければ不要。
・Outlookに複数のアカウントを設定している
・デフォルト以外のアカウントから送信したい
使用したいアカウントタイプは数字で指定。
Exchangeアカウント:0
Imapアカウント:1
Pop3アカウント:2
その他の詳細は下記のリンク先を参照
OlAccountType 列挙 (Outlook) | Microsoft Learn
' 送信アカウントを指定 ---1
For Each olAccount In olApp.Session.Accounts
If olAccount.AccountType = 使用したいアカウントタイプ Then
Set mi = olApp.CreateItem(olMailItem)
Set mi.SendUsingAccount = olAccount
Exit For
End If
Next
表示名での指定も可能。
Outlookでメールを開くと「表示名<メールアドレス>」とか単に表示名だけが書かれていたりするので、それを指定する。
' 送信アカウントを指定 ---1
For Each olAccount In olApp.Session.Accounts
If olAccount.DisplayName = "使用したい表示名" Then
Set mi = olApp.CreateItem(olMailItem)
Set mi.SendUsingAccount = olAccount
Exit For
End If
Next
2)メール内容の設定
メールアドレスは「;」区切りで複数指定できる
CC,BCCは不要なら行ごと削除しちゃってOK
BodyFormatは数字で指定する。
テキスト形式=1
HTML形式=2
その他の詳細は下記のリンク先を参照
OlBodyFormat 列挙 (Outlook) | Microsoft Learn
' 送信するメールの内容を設定 ---2
With mi
.To = "TOに設定したいメールアドレス"
.CC = "CCに設定したいメールアドレス"
.BCC = "BCCに設定したいメールアドレス"
.Subject = "件名"
.Body = "本文"
.BodyFormat = メール形式
.Display
End With
3)メモリ開放
スクリプト終了時点で自動で解放されるけど一応書いておく。
' メモリ開放 ---3
Set mi = Nothing
Set olApp = Nothing
役に立つかもしれない情報
アカウント オブジェクト (Outlook) | Microsoft Learn
Account.AccountType プロパティ (Outlook) | Microsoft Learn
列挙 (Outlook) | Microsoft Learn
この記事が気に入ったらサポートをしてみませんか?