HTA(HTML Application)でLotusNotesメールを自動的に送信するツールのサンプルを作成しました.VBScriptでNotesSesionオブジェクトを生成してメールを送信する方法に関してはプログラム学習室 Lotus Notes : IEからNotesメールを送るVBScriptを参考にしました.
サンプルでは最小限のコードで記載していますので,デザインを良くしたければ適当にCSSを組み込んでもらえれば良いですし,もっと動的に文言を追加したければ,JavaScriptを使ってラジオボタンの値を取得したり,チェックボックスの値を取得したりするといろいろ拡張できると思います.
そんなことでフロントエンド処理:midF1()がポイントで,このフロントエンドでTo/Subject/Bodyを加工できるようにしています.あくまでメール送信メイン処理は3引数を受け取ってそれを送信するだけにしてあります.処理を増やしたい場合はmidF2()などとインクリメントしていけば整理もしやすい気がします.
個人的にプロジェクト内で定常的に送信したりする連絡メールを毎回作成するのは非効率だと思っているので,こういう一工夫でプロジェクト全体が効率化されるのであれば,やりがいのある暇潰しですよね.
サンプルコード(HTAにする場合.htaで保存する)
<html> <head> <title>NotesMail</title> <script language="VBScript"> Sub Window_onLoad window.resizeTo 400,400 End Sub // // F1フロントエンド処理 // Sub midF1() Dim tmpTo Dim tmpSubject Dim tmpBody tmpTo = document.kakku.F1_TO.value tmpSubject = document.kakku.F1_SUBJECT.value tmpBody = document.kakku.F1_BODY.value SendMail tmpTo, tmpSubject, tmpBody End Sub // // メール送信メイン処理 // Sub SendMail(argTo, argSubject, argBody) Dim intRet intRet = MsgBox("送信しますか?", 4, "Stop") If intRet = 7 then Exit Sub End If Dim objSess Dim objDB Dim objDoc Set objSess = CreateObject("Notes.NotesSession") Set objDb = objSess.GETDATABASE("", "") Call objDb.OPENMAIL Set objDoc = objDb.CREATEDOCUMENT objDoc.Sendto = argTo objDoc.Subject = argSubject objDoc.Body = argBody Call objDoc.Send(False) MsgBox "メールを送信しました" Set objSess = Nothing Set objDB = Nothing Set objDoc = Nothing End Sub </script> </head> <body> <form name="kakku"> <!-- FreeMail Start --> FreeMail<br /> <input type="button" value="Send!" onClick="midF1()"> <table border="1" cellspacing="0" cellpadding="0" > <tbody> <tr> <td>To</td> <td><input type="text" name="F1_TO" value="" style="width:100%"></td> </tr> <tr> <td>Subject</td> <td><input type="text" name="F1_SUBJECT" value="" style="width:100%"></td> </tr> <tr> <td>Body</td> <td><textarea name="F1_BODY" rows="10" cols="34" value=""></textarea></td> </tr> </tbody> </table> <!-- FreeMail End --> </form> </body> </html>