ファイル出力用スクリプト
ファイルへの書き込みを1回の関数呼び出しで行います。
モードは新規作成モードとアペンドモードを選択できます。
' テスト用コード Dim FileName FileName = Replace(WScript.ScriptFullName, WScript.ScriptName, vbNullString) & "test.txt" For i = 1 To 10 FileOut FileNamez, i & "行目" & vbcrlf, ForAppending Next '########################################################### ' 指定文字列を指定ファイルに書き込む ' ' FileName : 書き込むファイル名 ' Content : 書き込む内容 ' IOMode : 書き込みの種類 ' ForWriting → 新規書き込み ' ForAppending → 追加書き込み ' ' 戻り値:0 → 正常終了 ' -1 → ファイル名が不正 ' -2 → 書き込み内容が空 ' -3 → モードの指定が不正 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Function FileOut(FileName, Content, IOMode) '引数のチェック If (FileName = vbNullString) Then FileOut = -1 Exit Function End If If (Content = vbNullString) Then FileOut = -2 Exit Function End If If (IOMode <> ForWriting And IOMode <> ForAppending) Then FileOut = -3 Exit Function End If Dim fso, f, ts Set fso = CreateObject("Scripting.FileSystemObject") '入出力モードの確認 If (IOMode = ForWriting) Then '新規モードの場合は新規にファイルを作成 fso.CreateTextFile FileName Set f = fso.GetFile(FileName) Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault) ts.Write Content ts.Close Else 'アペンドモードの場合は追記書き込みでファイルを開く Set f = fso.OpenTextFile(FileName, ForAppending, True) f.Write Content f.Close End If FileOut = 0 End Function '###########################################################
戻る