仕事でhtaツールを作ったりしている中、
マルチ文章対応のメモ帳が欲しくなりまして、
仕事の隙間時間を利用しての習作となります。
修正はTodo領域をダブルクリックして、別エディタを利用する形になります。
ソース
<html>
<head>
<title>いろいろメモ</title>
</head>
<body>
<hta:application
applicationname="SSS"
singleinstance="yes"
scroll="no"
scrollFlat="no"
contextMenu="yes"
icon="ico/favorites.ico"
border="dialog"
innerborder="no"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
/>
<style type="text/css">
body {
font-size: 11px;
background-color: #ddddff;
}
</style>
<form name="form1">
<input type="button" name="todoBTN01" value="M1" onClick="onChgTodo(1)" />
<input type="button" name="todoBTN02" value="M2" onClick="onChgTodo(2)" />
<input type="button" name="todoBTN03" value="M3" onClick="onChgTodo(3)" />
<input type="button" name="todoBTN04" value="M4" onClick="onChgTodo(4)" />
<input type="button" name="todoBTN05" value="M5" onClick="onChgTodo(5)" />
<input type="button" name="todoBTN06" value="M6" onClick="onChgTodo(6)" />
<input type="button" name="todoBTN07" value="M7" onClick="onChgTodo(7)" />
<input type="button" name="todoBTN08" value="M8" onClick="onChgTodo(8)" />
<input type="button" name="todoBTN09" value="M9" onClick="onChgTodo(9)" />
<input type="button" name="todoBTN00" value="M0" onClick="onChgTodo(0)" />
<select size="5" name="todo" style="width: 100%;" ondblClick="onEditTodo()" title="ダブルクリックで編集"></select>
</form>
<script language="VBScript">
set sh = CreateObject("WScript.Shell")
ST_TODO_PATH = "M1.txt"
sub window_onload
window.resizeto 310,150
onChgTodo(1)
end sub
sub onEditTodo()
sh.Run ST_TODO_PATH
end sub
sub onChgTodo(choiced)
set fso = CreateObject("Scripting.FileSystemObject")
sh.CurrentDirectory = replace(window.location.pathname, fso.GetFileName(window.location.pathname), "")
'Todo領域のクリア
Dim index
For index = document.form1.todo.length -1 to 0 step -1
document.form1.todo.options.remove index
next
'対象により読込ファイルを変更、ボタン色を変更
'まずは一旦全部灰色に
document.form1.todoBTN01.style.backgroundcolor = "#cccccc"
document.form1.todoBTN02.style.backgroundcolor = "#cccccc"
document.form1.todoBTN03.style.backgroundcolor = "#cccccc"
document.form1.todoBTN04.style.backgroundcolor = "#cccccc"
document.form1.todoBTN05.style.backgroundcolor = "#cccccc"
document.form1.todoBTN06.style.backgroundcolor = "#cccccc"
document.form1.todoBTN07.style.backgroundcolor = "#cccccc"
document.form1.todoBTN08.style.backgroundcolor = "#cccccc"
document.form1.todoBTN09.style.backgroundcolor = "#cccccc"
document.form1.todoBTN00.style.backgroundcolor = "#cccccc"
if choiced = 1 then
ST_TODO_PATH = "M1.txt"
document.form1.todoBTN01.style.backgroundcolor = "#FFFF00"
elseif choiced = 2 then
ST_TODO_PATH = "M2.txt"
document.form1.todoBTN02.style.backgroundcolor = "#FFFF00"
elseif choiced = 3 then
ST_TODO_PATH = "M3.txt"
document.form1.todoBTN03.style.backgroundcolor = "#FFFF00"
elseif choiced = 4 then
ST_TODO_PATH = "M4.txt"
document.form1.todoBTN04.style.backgroundcolor = "#FFFF00"
elseif choiced = 5 then
ST_TODO_PATH = "M5.txt"
document.form1.todoBTN05.style.backgroundcolor = "#FFFF00"
elseif choiced = 6 then
ST_TODO_PATH = "M6.txt"
document.form1.todoBTN06.style.backgroundcolor = "#FFFF00"
elseif choiced = 7 then
ST_TODO_PATH = "M7.txt"
document.form1.todoBTN07.style.backgroundcolor = "#FFFF00"
elseif choiced = 8 then
ST_TODO_PATH = "M8.txt"
document.form1.todoBTN08.style.backgroundcolor = "#FFFF00"
elseif choiced = 9 then
ST_TODO_PATH = "M9.txt"
document.form1.todoBTN09.style.backgroundcolor = "#FFFF00"
elseif choiced = 0 then
ST_TODO_PATH = "M0.txt"
document.form1.todoBTN00.style.backgroundcolor = "#FFFF00"
end if
'Todo領域内部分装飾
set ts = fso.OpenTextFile(ST_TODO_PATH)
do until ts.AtEndOfStream
buf = ts.ReadLine
set op = document.createElement("Option")
if 0 < len(buf) then
if "【" = left(buf,1) then
op.style.backgroundcolor = "#00FF99"
elseif "・" = left(buf,1) then
op.style.backgroundcolor = "#00EEFF"
elseif " ↑" = left(buf,3) then
op.style.backgroundcolor = "#CCEEFF"
elseif "#" = left(buf,1) then
op.style.backgroundcolor = "#FFBB44"
end if
end if
op.value = buf
op.text = buf
document.form1.todo.add op
loop
ts.close
end sub
</script>
</body>
</html>
ファイル名:一旦はsss.htaとして保存してください
後述のアレンジで変更可能です。
設定
お好みのフォルダに以下のパターンで配置してください。
┬ico/favorites.ico アイコン画像
├sss.hta htaアプリ本体
├M1.txt メモ1の実態ファイル
├M2.txt メモ2の実態ファイル
├M3.txt メモ3の実態ファイル
├M4.txt メモ4の実態ファイル
├M5.txt メモ5の実態ファイル
├M6.txt メモ6の実態ファイル
├M7.txt メモ7の実態ファイル
├M8.txt メモ8の実態ファイル
├M9.txt メモ9の実態ファイル
└M0.txt メモ0の実態ファイル
アレンジは自由
その反面、初期デザインはもっさい><
デザイン系のセンスをupしたいお年頃です。
アレンジ箇所と方法
HTML部のカスタム
<head>
<title>いろいろメモ</title> <<いろいろメモの部分をお好きに変更してください。
</head>
<hta:application
applicationname="SSS" <<アプリ名
singleinstance="yes" <<多重起動防止
scroll="no"
scrollFlat="no"
contextMenu="yes"
icon="ico/favorites.ico" <<アイコンの指定
border="dialog" <<概観指定
innerborder="no"
MAXIMIZEBUTTON="no" <<ボタン制御
MINIMIZEBUTTON="no" <<ボタン制御
/>
<style type="text/css">
body {
font-size: 11px; <<フォント指定(サイズ)
background-color: #ddddff; <<背景色指定
}
</style>
<form name="form1">
<input type="button" name="todoBTN01" value="M1" onClick="onChgTodo(1)" />
<input type="button" name="todoBTN02" value="M2" onClick="onChgTodo(2)" />
ここのM1やM2を用途に合わせた文字にすると、使いやすくなります。
例.「予定」「作業中」「終了」「確認待ち」など
ボタン数を増やすのも簡単です。
todoBTN01とonChgTodo(1)をかぶらない名称で増やせばOK
現状1~0の10個となっていますが、好きな数に増やせます。
<select size="5" name="todo" style="width: 100%;" ondblClick="onEditTodo()" title="ダブルクリックで編集"></select>
Todoエリアの拡大をしたければ、size=5を大きくすればOK
スクリプト部のカスタム
sub window_onload
window.resizeto 310,150 <<画面幅,長です。項目数を増やしたりしたら調整してください。
onChgTodo(1)
end sub
sub onEditTodo() <<ダブルクリック時に編集を実行
sh.Run ST_TODO_PATH <<デフォルトで設定されているテキストエディタを実行
end sub
'対象により読込ファイルを変更、ボタン色を変更
'まずは一旦全部灰色に
document.form1.todoBTN01.style.backgroundcolor = "#cccccc" <<灰色指定
document.form1.todoBTN02.style.backgroundcolor = "#cccccc" <<灰色指定
項目数を増やしたりしたら調整してください。
if choiced = 1 then <<onChgTodo(1)の()内の値
ST_TODO_PATH = "M1.txt" <<読み込むべき対象のファイルを指定
document.form1.todoBTN01.style.backgroundcolor = "#FFFF00" <<黄色(アクティブ)指定
elseif choiced = 2 then
ST_TODO_PATH = "M2.txt"
document.form1.todoBTN02.style.backgroundcolor = "#FFFF00"
項目数を増やしたりしたら調整してください。
'Todo領域内部分装飾
if "【" = left(buf,1) then <<先頭文字による判別
op.style.backgroundcolor = "#00FF99" <<色変更
elseif "・" = left(buf,1) then
op.style.backgroundcolor = "#00EEFF"
以上です。
ご利用はご自由に^^でも使用上の責任は取れませんのでよろしくお願いします。
-
購入金額
0円
-
購入日
2015年06月21日
-
購入場所
nicknameさん
2015/06/22
デザインはセンスとの戦いで毎度敗戦するので、jquery-uiに頼りっぱなしです(´Д`)