「やった」仕事を記録するJScript 「やった.js」
- 多忙な毎日
- あせって仕事をし
- 後には仕事をやったという満足感が残らない。
そんなヤツ(おれか?おれのことか?)のために当時作ったJScript。
日経パソコンオンラインから引用された記念で掲載。
// 何やった? // 今何やったかを記録するスクリプト。 //基本データ型プロトタイプ拡張 String.prototype.paddingLeft = function(strPad, iKeta) { var strZero, i, strTmp; for (strZero = new String(''),i = iKeta; i > 0; i--) strZero += strPad; strTmp = strZero + this; return strTmp.substring(strTmp.length-iKeta , strTmp.length); } Date.prototype.getStringDate = function (strSeparator) { return this.getFullYear().toString().paddingLeft('0',4) + strSeparator + (this.getMonth()+1).toString().paddingLeft('0',2) + strSeparator + this.getDate().toString().paddingLeft('0',2); } Date.prototype.getStringTime = function(strSeparator) { return this.getHours().toString().paddingLeft('0',2) + strSeparator + this.getMinutes().toString().paddingLeft('0',2) + strSeparator + this.getSeconds().toString().paddingLeft('0',2); } //ujipオブジェクトに雑多なツールをまとめてしまう。 var ujip = { getScriptFolder : function() { return (new String(WScript.ScriptFullName)).replace(WScript.ScriptName,''); }, filemode : { forReading : 1, forWriting : 2, forAppending : 8} } //インプットボックスプロンプトオブジェクト InputBox = function () { this.script = new ActiveXObject('ScriptControl'); this.script.Language = 'VBScript'; this.script.AddCode('Function IB(p,t,d)\n IB=InputBox(p,t,d)\n End Function'); } InputBox.prototype.prompt = function(strMsg, strDefault) { return this.script.Run('IB', strMsg, '入力してね', strDefault); } InputBox.prototype.discard = function() { this.script = null; } //ここからメイン。 var yatta = function () { var fso = new ActiveXObject('Scripting.FileSystemObject'); //テンポラリ変数の宣言 var strYatta; var dtNow, strDate, strTime; var inputbox; var strFolder, strFile, strPath; var ts; dtNow = new Date(); strDate = dtNow.getStringDate('/'); strTime = dtNow.getStringTime(':'); inputbox = new InputBox(); strYatta = inputbox.prompt(strDate + ' ' + strTime + ' に\n何やった?',''); inputbox.discard(); if (strYatta == '' || strYatta == undefined) return; //何もしないで終了 strFolder = ujip.getScriptFolder(); strFile = 'やった.csv'; strPath = fso.BuildPath(strFolder, strFile); if (fso.FileExists(strPath) == true) { ts = fso.OpenTextFile(strPath, ujip.filemode.forAppending); } else { ts = fso.CreateTextFile(strPath, ujip.filemode.forWriting); } ts.WriteLine(strDate + ',' + strTime + ',' + strYatta); ts.Close(); } yatta();
使い方
- ここからダウンロード、解凍。
- 「やった.js」をダブルクリック
- 入力画面現れるので、ついさっきやり終えたことを入れてやる。
- すると「やった.csv」が出来上がる。
- 何かやったら「やった.js」をダブルクリックして入力して行く。
- 一日の終わりに「やった.csv」を見る。
- いつごろ何をやったか思い出す。
- なんとなく御満悦。
ってなことなるわけないでしょ。
ためしに数日やったことがありますが、忙しいときはこんなこと入力している心の余裕なんてないんです。
入力する心の余裕がないことを確認するにはもってこいのツールと言えますね(こらこら)。