Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要:
 メールテンプレートを自動生成する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環境なら特に問題はないと思いますが...

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away