作業ログに1コ前のログをデフォルト表示する改善

してみた。前の話は以下を参考に。
[id:todogzm:20070208:1170923433]
VBScriptのことがよく分からんので、チョー適当なわけですが、とりあえず2回目以降の作業ログには前回の作業ログをデフォルト値にセットするようにしてみました。似通った関数を抽象化してもよかったのですが、面倒だったのでまるまる別関数にしています。

従来通りの初期値がこんな感じ。

で、2回目以降は前回の初期値がセットされている。

こんな適当なスクリプトですが、ご容赦を。

'----------------------------------------------------------------------
' QuickLogger v.0.1
' Appends the date and a line of text to a file.
' Based on code written by Joshua Fitzgerald, 7/2005.
' Modified by Gina Trapani, 7/2006.
' Modified by Nazo-log (http://d.hatena.ne.jp/todogzm/), 4/2007.
'----------------------------------------------------------------------
Option Explicit

Dim filename
filename = "c:\worklog\worklog.txt"
Dim prevfilename
prevfilename = "c:\worklog\prev.txt"

Dim prevtext
prevtext = ReadPrevText()

Dim text
text = InputBox("Add to "&filename&":", "Quick Logger", prevtext)
WriteToFile(text)
WritePrevFile(text)


'作業ログの保存
Sub WriteToFile(text)
Dim fso
Dim textFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(filename, 8, True)
textFile.WriteLine Now & " " & text
textFile.Close
End Sub


'今回の作業ログの保存
Sub WritePrevFile(text)
Dim fso
Dim textFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(prevfilename, 2, True)
textFile.WriteLine text
textFile.Close
End Sub


'WritePrevFileの結果を読む
Function ReadPrevText()
Dim fso
Dim textFile
Dim result
Set fso = CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 And fso.FileExists(prevfilename) = True Then
Set textFile = fso.OpenTextFile(prevfilename)
If Err.Number = 0 Then
result = textFile.ReadLine
textFile.Close
Else
result = ""
End If
Else
result = ""
End If
ReadPrevText = result
End Function