VBAでエクセル内容からメールを作成するようなコードを書いていますが、送信者名の挿入と、署名の挿入ができずにいます、、、
送信者(From)が不特定のため、事前に形式を挿入するのではなく、メール作成時に自動で「送信者名」と「送信者の署名」を取得し、本文に記述したいです。
https://docs.microsoft.com/ja-JP/office/vba/api/Outlook.MailItem.SenderName
ここを見る限り、送信者は「取得のみ」で設定はできないような雰囲気が感じられますが、なにか別の方法で設定、することはできるでしょうか?
①本文冒頭に「お疲れ様です。○○です。」と送信者名を入れたい。
②本文末に署名を自動で入れたい。
下のようなコードを書いています。
vba
1Sub Outlookメール作成() 2 3'---コード1|outlookを起動する 4 Dim outlookObj As Outlook.Application 'Outlookで使用するオブジェクト生成 5 Dim mailItemObj As Outlook.MailItem 'Outlookで使用するオブジェクト生成 6 7 8 9 10'---コード2|メールを作成して、差出人、本文、署名を入れ込む--- 11 Set outlookObj = CreateObject("Outlook.Application") 12 Set mailItemObj = outlookObj.CreateItem(olMailItem) 13 mailItemObj.BodyFormat = 3 'リッチテキストに変更 14 mailItemObj.To = "test@gmail.com" 'to宛先をセット 15 mailItemObj.CC = "test@gmail.com" 'cc宛先をセット 16 mailItemObj.BCC = "test@gmail.com" 'bcc宛先をセット 17 mailItemObj.subject = "件名" '件名をセット 18 19 20'本文をセット 21 mailItemObj.body = "お疲れ様です。○○です。本文の内容はエクセルから取得。エクセルは保護されており、加工は不可。送信者は不特定多数になる。最後に署名をセットしたい" 22 23 24 '---コード3|メールを送信する--- 25 'mailItemObj.Save '下書き保存 26 mailItemObj.Display 'メール表示(ここでは誤送信を防ぐために表示だけにして、メール送信はしない) 27 28 29'---コード4|outlookを閉じる(オブジェクトの解放)--- 30 Set outlookObj = Nothing 31 Set mailItemObj = Nothing 32 33 34End Sub 35
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/13 14:16
2019/11/13 14:20
2019/11/13 14:22
2019/11/13 14:35 編集
2019/11/13 15:11
2019/11/13 15:51
2019/11/14 00:26
2019/11/14 01:00
2019/11/14 03:45
2019/11/14 15:51