LoginSignup
8
6

More than 5 years have passed since last update.

[VBS:備忘録]よくあるメールテンプレをVBSで作成する方法の一例

Last updated at Posted at 2014-09-18

概要:
 メールテンプレートを自動生成するVBS。

目的:
 業務で扱うメールについて、いちいち作成したり編集したりするのがめんどくさかったので、VBS化しました。
 メールの内容を一部編集しなければいけない時があるので、自動送信までは組み込んでいません。
 送信する内容がほぼ不変であり、チェックする必要がなければタスクスケジューラやJP1・Systemwalker等と組み合わせれば自動送信も可能です。
 # そこまでするならもうPGを別で用意した方がいいかもしれませんが

プログラム:

 Option Explicit
'*************************************************************
'* メールテンプレート
'*************************************************************
'*************************************
'* 変数宣言
'* 変数名は使いやすい用にリファクタリングしてください.
'*************************************
Dim outlook, item, mailBody, mailSubject, name, mailAddress, timeZone, byLine, mailTo, mailCc, kaigyo

'*************************************
'* 個人で入力させる項目郡
'*************************************
' 名前
name = "太郎"
' 自分のメールアドレス
mailAddress = "taro.test@test.com"
' 送信先:TO
mailTo = "jisan.hanasaka@test.com;"
' 送信先:CC
mailCc = ""

'*************************************
'* 初期処理
'*************************************
Set outlook = CreateObject("Outlook.Application")
Set item = outlook.CreateItem(0)

' 改行コード
kaigyo = vbCrLf

'*************************************
'* 時刻を取得する
'*************************************
timeZone = Right("0" & Hour(Now) - 1, 2)  & ":01-" & Right("0" & Hour(Now), 2) & ":00"

'*************************************
'* メール件名
'* 以下の例では日時等も加工している.
'*************************************
mailSubject = "件名サンプル " 
mailSubject = mailSubject & Year(Date) & "/" & Right("0" & Month(Date), 2) & "/" & Right("0" & Day(Date), 2)

'*************************************
'* メール本文
'*************************************
mailBody = "本文サンプル" & kaigyo
mailBody = mailBody & "こんにちは、" & name & "です。" & kaigyo & kaigyo
mailBody = mailBody & "頑張って改行してます。" & kaigyo
mailBody = mailBody & "面倒くさいです。" & kaigyo & kaigyo

'*************************************
'* 署名を作る
'*************************************
byLine = "----------------------------------------------" & kaigyo
byLine = byLine & "業務で使うなら使ってください。" & kaigyo
byLine = byLine & "部署名変更時は注意!!!" & kaigyo
byLine = byLine & "----------------------------------------------" & kaigyo

mailBody = mailBody & byLine

'*************************************
'* メール内の設定
'*************************************
item.To = mailTo
item.Cc = mailCc
item.Subject = mailSubject
item.Body = mailBody
item.Display
' 以下のコメントアウトを解除して、更に上のitem.Displayをコメントアウトすれば、
' メールの画面が表示されずにそのまま送信される。
' item.Send

'*************************************
'* 終了処理
'*************************************
Set item = Nothing
Set outlook = Nothing

WScript.Quit 0

実行環境:
 Win7Pro。
 Windows環境なら特に問題はないと思いますが...

備考:
 他にもテンプレソースを挙げてくれている人は多数いるので、それらを参考にしつつ、自分の使いやすい物を使用するといいかと思います。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6