2011-02-12
HTAでLotusNotesメールを送信する
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>
トラックバック - http://d.hatena.ne.jp/kakku22/20110212/1297491750
リンク元
- 104 http://search.yahoo.co.jp/search?p=FP3級&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=3&oq=fp
- 36 http://search.yahoo.co.jp/search?p=tmpファイル&search.x=1&fr=bb_top_v2&tid=bb_top_v2&ei=UTF-8
- 20 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4TSJH_jaJP375JP375&q=Java検定3級 過去問
- 10 http://ezsch.ezweb.ne.jp/search/?sr=0101&query=Fp3級
- 8 http://search.yahoo.co.jp/search?p=エクセル 選択範囲色&sp=1&aq=-1&ei=UTF-8&fr=jword-ab&SpellState=
- 6 http://www.google.co.jp/search?hl=ja&source=hp&q=fp3級&lr=&aq=7&aqi=g10&aql=&oq=FP
- 6 http://www.google.co.jp/search?hl=ja&source=hp&q=tmpファイル&lr=&aq=0r&aqi=g-r9g-rs1&aql=&oq=TMPfa
- 6 http://www.google.co.jp/search?q=エクセル+文献管理&hl=ja&biw=1280&bih=711&prmd=ivns&ei=Dj9WTfbYGMLzca2ChIMN&start=20&sa=N
- 6 http://www.google.co.jp/search?q=Maximum+execution+time+of+60+seconds+exceeded&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 5 http://d.hatena.ne.jp/lionheart0610/20090528/1243503039