4.WSH(Windows Scripting Host) |
Windows98以降、WSH(Windows Scripting Host)が使用可能になっています。WindowsNTのOption PackにもWSHが入っているので、PWS(Personal Web Server)インストール時に選択することができます。 単体でもマイクロソフトのサイトからダウンロード可能なので、Windows95でも使用可能です。 下記はMicrosoft Accsessの管理台帳にある資産のチェックを行い、7日前と3日前に通知を行うプログラムです。詳しくは今後説明していく予定すが、データベース処理にSQL文を使用しています。 |
------------------------------------------------------------------------------------------------------------------- Dim db, rec, strText, strTextbuf, Blat atablebuf = Array("table1","table2","table3","table4") CRLF = Chr(13) & Chr(10) sdate = Date+7 pdate = Date+3 L_Message_MsgBox_Message_Text = "1週間前と3日前の管理対象資産の一覧を通知します。" L_Message_MsgBox_Title_Text = "資産管理台帳" Set Blat=WScript.CreateObject("Blat.Send.1") Call Message() strText = "" For k=0 to 3 Call Readdata(atablebuf(k)) strText = strText+strTextbuf Next If strText="" Then strText = "本日は何もありません。" Else Call Blatj(strText) End If Call show_str(strText) Sub Readdata(atable) 'ADODB.Connectionの作成 set db = WScript.CreateObject("ADODB.Connection") 'データベースを開く db.Open "TABLE" 'SQLを実行 set rec = db.Execute("SELECT id, meishou, model, shisanno, nextdate FROM "& atable &" WHERE nextdate=#"& sdate &"# or nextdate=#"& pdate &"#") i=0 strTextbuf = "File Name = "& atable & CRLF '取得した全レコードを表示 do while not rec.EOF iddb=rec.Fields("id") meishoudb=rec.Fields("meishou") modeldb=rec.Fields("model") shisannodb=rec.Fields("shisanno") nextdatedb=rec.Fields("nextdate") i=i+1 strTextbuf = strTextbuf & iddb & Chr(9) & nextdatedb & Chr(9) & meishoudb & Chr(9) & modeldb & Chr(9) & shisannodb & Chr(9) & CRLF 'レコードを次に進める rec.MoveNext loop 'レコードセットのクローズ rec.Close 'データベースのクローズ db.Close If i=0 Then strTextbuf = "" Else strTextbuf = strTextbuf & CRLF End If End Sub Sub show_str(strText) MsgBox strText, vbInformation, L_Message_MsgBox_Title_Text End Sub Sub Message() Dim intDoIt intDoIt = MsgBox(L_Message_MsgBox_Message_Text, vbOKCancel + vbInformation, L_Message_MsgBox_Title_Text ) If intDoIt = vbCancel Then WScript.Quit End If End Sub Sub Blatj(strText) Blat.IsError = False Blat.To = "to1@xxx.yyyy.co.jp, to2@xxx.yyyy.co.jp, to3@xxx.yyyy.co.jp" Blat.Cc = "cc@xxx.yyyy.co.jp" Blat.From = "from@xxx.yyyy.co.jp" Blat.Server = "mail@xxx.yyyy.co.jp" Blat.Subject = "資産管理情報" Blat.Body = "管理対象資産情報です。"+CRLF+"(1週間前と3日前に通知しています。)"+CRLF+CRLF+strText Blat.Send End Sub ------------------------------------------------------------------------------------------------------------------- |
ダイアログメッセージと同時にメールによる通知も行っており、メール送出にはBlatJというソフトを使用しています。実際に動作させるにはこのプログラムをタスクスケジューラに登録します。ここではCOM版のBlatJを使用しています。 BlatJは株式会社ピーデーの川俣 晶氏により日本語化されたもので、ここから入手できます。尚、その中ではWndows NTで説明されていますが、Windows 9Xでも使用可能です。 WSHの中で使用しているプログラムはVBScriptですが、JavaScriptで記述することも出来ます。その場合は拡張子vbsをjsに変えます。 WScriptはGUIで実行しますが、cscript.exeを用いてDOSプロンプトからも実行できます。 Outlookを使用している場合は、メール送出にOutlookのVBAを使用できます。第2、第3のMELLISSA作者を作りたくないのでここでは詳しく記述しませんが、Microsoft Outlook VB Refernceに個々のコマンドが書かれていますので、興味の有る方はそちらを見て下さい。どうしてもと言う方はメールにてご相談下さい。 |
戻る | Copyright(c) 1999-2003 Kokuwa. All Rights Reserved. |