CraftLaunch から RTM にタスクを登録する (2)

先日作った RTM へタスクを登録するスクリプトを少し改良してみました。変更したのは次の 2 点です。

  • 入力をキャンセルした場合、処理を中断するようにした
  • 複数回連続してタスクを登録できるようにした

InputBox 関数ではプロンプトが表示されている状態でキャンセルすると、空の文字列が返ってくるようになっていました。それゆえ、最初のスクリプトではキャンセルすると unnamed task として RTM に登録されてしまいます。これは InputBox の入力をファイルに書き込む前に、 if 文で空の文字列の場合は処理を中断するようにしました。

複数回の繰り返しは、入力→ファイル書き込み→メール送信という一連の流れを関数にまとめ、それを while True として止めない限り延々とループするようにしてみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
' タスクの入力
Dim task
Sub InputTask()
  task = InputBox("タスクを入力する", "RTM quick")
 
  If len(task) = 0 then
    WScript.Quit
  end if
end Sub


' ファイルの操作
Sub WriteFile()
  Set objFso = WScript.CreateObject("Scripting.FileSystemObject")
  Set objFile = objFso.OpenTextFile("rtmtask.txt", 2, False)

  If Err.Number > 0 then
    WScript.Echo "Open Error"
  else
    objFile.WriteLine task
  end if

  objFile.Close
  Set objFile = Nothing
  Set objFso = Nothing
end Sub


' メールの送信
Sub SendMail()
  Set ws = WScript.CreateObject("WScript.Shell")
  ws.Run "rtm_sendmail2.bat", 7
 
  WScript.Echo("タスク追加 OK")
end Sub

' 単発で登録する場合
' TaskAdd()

' 繰り返し登録する場合
' キャンセルでループを抜ける
Do while True
  TaskAdd()
Loop

Sub TaskAdd()
  InputTask()
  WriteFile()
  SendMail()
end sub

これで好きなだけタスクを登録できるようになり、少し便利になりました。

参照 URL

こちらもあわせてどうぞ

  1. CraftLaunch から RTM にタスクを登録する (1)
  2. 毎日の習慣をサポートする Task Rise
  3. PHP の学習 (7) ヒアドキュメント
  4. Windows ではランチャ CraftLaunch を使う
  5. PHP の学習 (6) 改行文字の出力

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>