概要
電話不在時メモをメールで送ります。
ほぼ定型文なんで、宛先・先方名・対応を選んで送るだけ。
新しい先方名は自動追加します。フリー入力欄もあります。
登録:2008/07/12・更新:2008/09/06
電話不在時メモをメールで送ります。
ほぼ定型文なんで、宛先・先方名・対応を選んで送るだけ。
新しい先方名は自動追加します。フリー入力欄もあります。
登録:2008/07/12・更新:2008/09/06
このページに書かれている事を実行して、何が起こっても私は知りません。
まぁ、このページに到達された方なら大丈夫でしょうけど(^o^)。
スクリプト re976001.hta の固定値をご自分の環境に合わせて変更し、起動して下さい。
宛先定義ファイル re976002.txt は、表示名とメアドをタブで区切って登録して下さい。
先方名ファイルは、登録した内容そのままで使用します。新規の先方様登録時には、電話番号も合わせて登録します。
BASP21 は、自力でインストールして下さい。
[re976001.hta:ここから]======================================================================
<html> <head> <HTA:APPLICATION APPLICATIONNAME="電話番" ICON="winchat.exe" SCROLL="no" /> <style type="text/css"> <!-- body,select,input,td { font-family : monospace; } h1 { display : none; margin-top : 0.5em; padding-top : 0.2em; padding-bottom : 0.2em; margin-bottom : 0.5em; padding-left : 1em; color : #3333ff; background-color : #99ffff; font-size : 130%; } p { margin-top : 0 em; padding-top : 0 em; padding-bottom : 0 em; margin-bottom : 0 em; } textarea.data_list { font-family : monospace; font-size : 150%; } textarea.log_list { font-family : monospace; font-size : 110%; } input.pc_file { width : 23em; } input.text { font-family : monospace; width : 8em; font-size : 150%; } pre { display : none; font-size : 50%; } span.UL { text-decoration : underline; } --> </style> </head> <body onload="S_onload_proc()" onkeyup="S_Keyup_on_body()"> <form id="form_main" onsubmit=""> <h1 id="page_title">タイトル</h1> <table> <tr> <td > (<span class="UL">1</span>) <select id="to" size="16" accesskey='1'> </select> へ。 <p id="aisatsu">お疲れ様です。まるふ研究所です。</p> </td> <td rowspan="2"> <p> (<span class="UL">3</span>) 『<input class="text" id="Customer_company" value="" accesskey='3'/>』の『<input class="text" id="Customer_name" value="" />』様 </p> <p> (<span class="UL">4</span>) <select id="Customer_list" size="17" accesskey='4' onkeyup="S_Keyup_on_Customer_list()" onChange="S_onChange_Customer_list()"> </select> <span id="log_Customer_tel"></span> <br><span id="Sub_postfix">より、お電話がありました。</span> </p> </td> </tr> <tr> <td> <input type=button onclick="S_get_time()" value="(2)時刻取得" accesskey='2' /> <br> <span id="tel_time"></span> </td> </tr> </table> <hr /> <p> <input name="talk_opt" id="talk_opt-0" type="radio" value="0" accesskey='5' checked><label for="talk_opt-0">(<span class="UL">5</span>) <span id="talk-0">電話があった事をお伝え下さい、との事です。</span></label> </p> <p> <input name="talk_opt" id="talk_opt-1" type="radio" value="1" accesskey='6' ><label for="talk_opt-1">(<span class="UL">6</span>) <span id="talk-1">特に用件は伺っておりません。</span></label> </p> <p> <input name="talk_opt" id="talk_opt-2" type="radio" value="2" accesskey='7' ><label for="talk_opt-2">(<span class="UL">7</span>) <span id="talk-2">また、お電話頂けるそうです。</span></label> </p> <p> <input name="talk_opt" id="talk_opt-3" type="radio" value="3" accesskey='8' ><label for="talk_opt-3">(<span class="UL">8</span>) <span id="talk-3">こちらから、電話を頂きたいとの事です。</span> <input class="text" id="Customer_tel" value="" /></label> </p> <p> <input name="talk_opt" id="talk_opt-9" type="radio" value="9" accesskey='9' ><label for="talk_opt-9">(<span class="UL">9</span>) <span id="talk-9"><定型文なし></span></label> </p> <p> (<span class="UL">0</span>) <textarea class="log_list" id="naiyo" rows="5" cols="70" accesskey='0' ></textarea> </p> <hr /> <div> <input id="send_mail" type=button onclick="S_send_mail()" value="(F10)メール送信" /> </div> <pre id="musubi"> 以上、よろしくお願いいたします。 - - まるふ研究所 krsna@devilsummoner.net </pre> </form> <script language="VBScript"> option explicit 'ウィンドウ初期値 Const C_title_text = "電話番 V1.2" Const C_window_width = 750 Const C_window_height = 630 'ネットワーク設定 Const C_smtp_server = "mailserver:25:30" Const C_mail_from = "krsna@devilsummoner.net" Const C_X_Mailer = "Denwaban V1.2" Const C_Denwaban_to_file = "re976002.txt" Const C_Denwaban_Cust_file = "re976003.txt" Const C_Denwaban_Cust_temp_file = "re976004.tmp" dim rt,i '-------------------------------------------------------------------------------- ' Bodyでのキーアップイベント → F10 でメール送信 sub S_Keyup_on_body() if window.event.keyCode = 121 then 'F10 document.all("send_mail").onclick end if end sub '-------------------------------------------------------------------------------- ' 客先リストファイルの更新 sub S_Update_Denwaban_Cust_file(P_Customer_Str,P_Customer_tel) dim L_fso,L_old_file,L_new_file dim L_ReadLine set L_fso = CreateObject("Scripting.FileSystemObject") if L_fso.FileExists(C_Denwaban_Cust_file) then Set L_old_file = L_fso.OpenTextFile(C_Denwaban_Cust_file,1) Set L_new_file = L_fso.OpenTextFile(C_Denwaban_Cust_temp_file,2,true) '新規顧客の登録 L_new_file.WriteLine P_Customer_Str & vbtab & P_Customer_tel '後は、読んだ順番に登録 Do While L_old_file.AtEndOfLine <> True L_ReadLine = L_old_file.ReadLine if L_ReadLine <> P_Customer_Str then L_new_file.WriteLine L_ReadLine end if Loop L_new_file.Close L_old_file.Close '旧ファイル削除 C_Denwaban_Cust_file Call L_fso.DeleteFile(C_Denwaban_Cust_file) '新ファイルリネーム C_Denwaban_Cust_temp_file → C_Denwaban_Cust_file Call L_fso.MoveFile( C_Denwaban_Cust_temp_file, C_Denwaban_Cust_file ) end if set L_fso = nothing end sub '-------------------------------------------------------------------------------- ' 客先リストの変更時の処理 sub S_onChange_Customer_list() document.all("log_Customer_tel").innerText = document.all("Customer_list").options(document.all("Customer_list").selectedindex).value end sub '-------------------------------------------------------------------------------- ' 客先リストのテキストファイル呼び出し sub S_Keyup_on_Customer_list() dim L_Shell,L_Exec if window.event.keyCode <> 13 then exit sub 'enter キー以外無視 set L_Shell = CreateObject("WScript.Shell") L_Shell.run (C_Denwaban_Cust_file) set L_Shell = nothing end sub '-------------------------------------------------------------------------------- ' メール送信先リストボックスの初期読み込み sub S_Load_to_list() dim L_file_name dim L_fso,L_file dim L_option_element dim LA_temp_array 'ファイル一覧を読みながら、オプションの追加 ' L_file_name = left(document.location.pathname,InStrRev(document.location.pathname,"\")) & C_Denwaban_Cust_file L_file_name = C_Denwaban_to_file set L_fso = CreateObject("Scripting.FileSystemObject") if L_fso.FileExists(L_file_name) then Set L_file = L_fso.OpenTextFile(L_file_name,1) Do While L_file.AtEndOfLine <> True LA_temp_array = split(L_file.ReadLine,vbtab) 'オプションの作成 set L_option_element = document.createElement("OPTION") L_option_element.value = trim(LA_temp_array(1)) L_option_element.text = trim(LA_temp_array(0)) 'オプションの追加 document.all("to").options.add(L_option_element) Loop L_file.Close set L_file = nothing end if set L_fso = nothing document.all("to").selectedindex = 0 end sub '-------------------------------------------------------------------------------- ' 電話相手リストボックスの初期読み込み sub S_Load_Customer_list() dim L_file_name dim L_fso,L_file dim L_option_element dim LA_Customer 'オプションの初期化 if document.all("Customer_list").options.length > 0 then For i = document.all("Customer_list").options.length - 1 To 0 step -1 document.all("Customer_list").options.remove(i) Next end if 'ファイル一覧を読みながら、オプションの追加 L_file_name = C_Denwaban_Cust_file set L_fso = CreateObject("Scripting.FileSystemObject") if L_fso.FileExists(L_file_name) then Set L_file = L_fso.OpenTextFile(L_file_name,1) Do While L_file.AtEndOfLine <> True 'オプションの作成 set L_option_element = document.createElement("OPTION") LA_Customer = split(L_file.ReadLine,vbtab) if UBound(LA_Customer) > 0 then L_option_element.value = trim(LA_Customer(1)) else L_option_element.value = "" end if L_option_element.text = trim(LA_Customer(0)) 'オプションの追加 document.all("Customer_list").options.add(L_option_element) Loop L_file.Close set L_file = nothing end if set L_fso = nothing document.all("Customer_list").selectedindex = 0 end sub '-------------------------------------------------------------------------------- sub S_send_mail() dim L_mail dim L_smtp_server,L_mail_to,L_mail_from,L_mail_sub,L_mail_body dim L_Customer_company,L_Customer_name,L_Customer_Str dim L_mail_to_MSG_txt '受電時刻の省略値設定 if document.all("tel_time").innerText = "" then Call S_get_time() end if 'メール送信設定 L_smtp_server = C_smtp_server L_mail_from = C_mail_from 'メール送信先設定 L_mail_to_MSG_txt = document.all("to").value L_mail_to = document.all("to").value & vbtab & "bcc" & vbtab & C_mail_from L_mail_to = L_mail_to & vbtab & "bcc" & vbtab & C_mail_from L_mail_to = L_mail_to & vbtab & ">X-Mailer: " & C_X_Mailer '件名編集 L_mail_sub = document.all("tel_time").innerText L_Customer_Str = "" L_Customer_company = trim(document.all("Customer_company").value) L_Customer_name = trim(document.all("Customer_name").value) if ( L_Customer_company <> "" ) and ( L_Customer_name <> "" ) then L_Customer_Str = "『" & L_Customer_company & "』の『" & L_Customer_name & "』様" L_mail_sub = L_mail_sub & L_Customer_Str elseif ( L_Customer_company = "" ) and ( L_Customer_name <> "" ) then L_Customer_Str = "『" & L_Customer_name & "』様" L_mail_sub = L_mail_sub & L_Customer_Str elseif ( L_Customer_company <> "" ) and ( L_Customer_name = "" ) then L_Customer_Str = "『" & L_Customer_company & "』様" L_mail_sub = L_mail_sub & L_Customer_Str else L_mail_sub = L_mail_sub & document.all("Customer_list").options(document.all("Customer_list").selectedindex).text end if L_mail_sub = L_mail_sub & trim(document.all("Sub_postfix").innerText) '本文設定 L_mail_body = document.all("to").options(document.all("to").selectedindex).text & "へ。" L_mail_body = L_mail_body & vbcrlf & document.all("aisatsu").innerText L_mail_body = L_mail_body & vbcrlf & vbcrlf & L_mail_sub if ( document.all.talk_opt(0).checked = true ) then L_mail_body = L_mail_body & vbcrlf & document.all("talk-0").innerText elseif ( document.all.talk_opt(1).checked = true ) then L_mail_body = L_mail_body & vbcrlf & document.all("talk-1").innerText elseif ( document.all.talk_opt(2).checked = true ) then L_mail_body = L_mail_body & vbcrlf & document.all("talk-2").innerText elseif ( document.all.talk_opt(3).checked = true ) then L_mail_body = L_mail_body & vbcrlf & document.all("talk-3").innerText if document.all("Customer_tel").value <> "" then L_mail_body = L_mail_body & vbcrlf & "電話番号:" & document.all("Customer_tel").value end if else end if if trim(document.all("naiyo").value) <> "" then L_mail_body = L_mail_body & vbcrlf & trim(document.all("naiyo").value) end if L_mail_body = L_mail_body & vbcrlf & vbcrlf & document.all("musubi").innerText '確認ダイアログを出す。 rt = msgbox(L_mail_to_MSG_txt & vbcrlf & L_mail_body,1) if rt = 2 then exit sub 'キャンセルなら抜ける Set L_mail = CreateObject("basp21") rt = L_mail.SendMail(L_smtp_server,L_mail_to,L_mail_from, L_mail_sub,L_mail_body,"") if rt <> "" then ' エラーチェック msgbox rt exit sub end if '客先リストファイルの更新 if L_Customer_Str <> "" then Call S_Update_Denwaban_Cust_file(L_Customer_Str,document.all("Customer_tel").value) Call S_Load_Customer_list() Call S_onChange_Customer_list() end if '最後に送信時刻等は消しときます。 document.all("tel_time").innerText = "" document.all("Customer_company").value = "" document.all("Customer_name").value = "" document.all("Customer_tel").value = "" document.all("naiyo").value = "" msgbox "送信しました。" end sub '-------------------------------------------------------------------------------- sub S_get_time() dim L_date,L_time L_date = date L_time = time document.all("tel_time").innerText = right("00" & datepart("m",L_date),2) & "/" & right("00" & datepart("d",L_date),2) & " " & right("00" & datepart("h",L_time),2) & ":" & right("00" & datepart("n",L_time),2) & " 頃、" end sub '-------------------------------------------------------------------------------- sub S_onload_proc() document.title = C_title_text document.all("page_title").innerText = C_title_text rt = window.resizeTo(C_window_width,C_window_height) Call S_Load_to_list() Call S_Load_Customer_list() Call S_onChange_Customer_list() end sub </script> </body></html>
[re976001.hta:ここまで]======================================================================
[re976002.txt:ここから]======================================================================
クリシュナさん <tab> krsna@devilsummoner.net メタトロン君 <tab> metatron@devilsummoner.net
[re976002.txt:ここまで]======================================================================
[re976003.txt:ここから]======================================================================
『テストの人』<tab>TEST-tel 『本社』の『社長』様<tab>090-9999-0000
[re976003.txt:ここまで]======================================================================