Outlookから決まったファイル名の添付ファイルを付けて定型のメールを送るVBscript
以下のコードを.vbsで保存。item.Sendの行を取れば送信されずにメールが立ち上がって止まるので自分のタイミングで送信できます。
タスクスケジューラに設定すれば自動で生成したレポートファイルをある時間に送信なんてことができます。
ちなみにWindows11のメモ帳だとUTF-8で保存されたりしますが、SJISで保存しないと実行時に「終了していない文字列型の定数です」とか出てエラーになりますので、サクラなど他のエディタを使うなどしてSJISで保存する必要があります。
Option Explicit Dim olk,item,mailBody,mailSubject,mailAttachment,name,mailAddress,timeZone,byLine,mailTo,mailCc,KAIGYO name="hoge" mailAddress="xxx@xxxxx.com" mailTo="xxx1@xxxxx.net;xxx2@xxxxx.net" mailCc="" Set olk = CreateObject("Outlook.Application") Set item = olk.CreateItem(0) KAIGYO = vbCrLf timeZone = Right("0" & Hour(Now)-1,2) & Right("0" & Hour(Now),2) & ":00" mailSubject="メールの件名" mailSubject=mailSubject & Year(Date) & "/" & Right("0" & Month(Date),2) & "/" & Right("0" & Day(Date),2) mailBody = "みなさま" & KAIGYO & KAIGYO mailBody =mailBody &"おつかれさまです。"& name &"です。"& KAIGYO & KAIGYO mailBody =mailBody &"ファイルを送るよ。"& KAIGYO mailBody =mailBody &"添付ファイルをみてね"& KAIGYO & KAIGYO mailAttachment ="C:\PATHTOFILE" item.To = mailTo item.Cc = mailCc item.Subject = mailSubject item.Body = mailBody item.Attachments.Add mailAttachment item.Display item.Send Set item = Nothing Set olk = Nothing Wscript.Quit 0
こんな感じのメールが来ます。
件名:メールの件名2022/07/28 (←本日日付が入るようになっています)
本文:
みなさま
おつかれさまです。hogeです。
ファイルを送るよ。
添付ファイルをみてね
添付ファイル:指定したパスの添付ファイル(←ファイル名固定)