顔文字を一括登録
顔文字を一括登録とかできるのかなぁと調べたらとても便利なMortScriptを公開されている方がおられました。
テキストファイルから単語登録する - smart phone(W-ZERO3)のsmartな使い方
http://tok03.blog111.fc2.com/blog-entry-26.html
ここで公開されているautoregist.mscrなら、dic.txtというファイル名でtxtファイルを作成するだけで一括登録可能です。
顔文字の一括登録に使用させていただいたのですが、一度登録済みの単語を再登録しようとしてしまった場合、エラーになってスクリプトがとまってしまうので、MortScriptの勉強も兼ねて勝手に改変させていただきました。
MortScriptって書いてすぐ動かせるので面白いですね。
# ------------ autoregist.mscr ------------------ # # ATOK 辞書ユーティリティ 単語自動登録スクリプト For Advanced/W-ZERO3[es] # # ref. to http://tok03.blog111.fc2.com/blog-entry-26.html # # tokさんが書かれたスクリプトを # 既出の単語だった場合はキャンセルして次に進むよう改変しました。 # #それ以外にも勝手にインデントとかしました。すみませんm(_ _)m # 動確済ですが、もしエラーになる場合は # 「notExistWait」を長めに設定してみて下さい。 # # ref. to http://d.hatena.ne.jp/srkzhr/20071031/1193846957 # # ----------------------------------------------- Message("単語の登録を開始します") # ------------ Define ------------------ atok = "ATOK 辞書ユーティリティ" toroku = "単語登録" alreadyExist = "" wait = 100 notExistWait = 1000 errorMessage = "異常な動作を検出したので終了します" inputFile = "\dic.txt" # ------------ Window Initialize ------------------ If(WndExists(toroku) = 1) Close(toroku) Sleep(3000) EndIf If(WndExists(atok) = 1) Close(atok) Sleep(3000) EndIf # ------------ Word Regist Execute ------------------ Run("\Windows\ATOKPUT.exe"); Sleep(3000) f = ReadFile(inputFile) ForEach line in split (f, "^LF^", 1) Split (line, "^TAB^", 1, item) WaitForActive(atok, 3) If(WndActive(atok) = 0) Message(errorMessage) Exit EndIf SendLeftSoft(atok) Sleep(wait) SendCR(atok) WaitForActive(toroku, 3) If(WndActive(toroku) = 0) Message(errorMessage) Exit EndIf SetClipText(item[2]) SendCtrlKey(toroku, "v") Sleep(wait) SendTab(toroku) Sleep(wait) SetClipText(item[1]) SendCtrlKey(toroku, "v") Sleep(wait) SendTab(toroku) Sleep(wait) SendTab(toroku) Sleep(wait) If(WndActive(toroku) = 0) Message(errorMessage) Exit EndIf SendCR(toroku) SendCR(alreadyExist) Sleep(notExistWait) If(WndActive(toroku) = 1) SendCR(alreadyExist) Repeat(4) SendTab(toroku) # Need To lengthen "notExistWaite" EndRepeat SendCR(toroku) EndIf EndForEach Close(atok) Message("単語の登録が完了しました")