「繰り返し処理」でデータ数の設定でCSVファイルを取り込んでループさせてたら、その1行分のデータの実行結果のステータス情報を付与した変数値のデータを書出ししたくなった。
都度、文字列結合でCSVっぽく文字成形するのは大変だし、スクリプト書いてみた。
1.繰り返し実行中の変数値をCSV形式で書出し
あくまで、「その時」の変数値を書き出すだけよん。
変数の名前をカンマ区切りで列挙すると、その順番でCSVを作ります。
出力先のファイル名のファイルがあれば、項目名は端折ってテキスト追記します。
出力先ファイルが既存で無い場合は、項目名も出力してテキスト書出しします。
Dim Vars, ColumnHeader, LineVal Vars = split(Replace(!項目名(カンマ区切り)!, """", ""), ",") ColumnHeader = "" If Not CreateObject("Scripting.FileSystemObject").FileExists(!出力ファイル!) Then For i=0 To UBound(Vars) If Len(ColumnHeader) > 0 Then ColumnHeader = ColumnHeader & "," ColumnHeader = ColumnHeader & """" & Vars(i) & """" Next ColumnHeader = ColumnHeader & vbCrLf End If LineVal = "" For i=0 To UBound(Vars) If Len(LineVal) > 0 Then LineVal = LineVal & "," Val = GetUMSVariable(Vars(i)) LineVal = LineVal & """" & Val & """" Next Append_TEXT ColumnHeader & LineVal , !出力ファイル! Function Append_TEXT(ContentStr, FilePath) Dim objFS, objTXT On Error Resume Next Set objFS = CreateObject("Scripting.FileSystemObject") Set objTXT = objFS.OpenTextFile(FilePath, 8, True) objTXT.WriteLine ContentStr objTXT.close Set objTXT = Nothing Set objFS = Nothing If Err.Number > 0 Then Append_TEXT = False Err.Clear Else Append_TEXT = True End If End Function
2.設定タブはこんな感じ。
特に何のひねりもない。
3.全部の変数の値をCSVに出力するとしたら、こうかな。
変数一覧のひな形ファイル作成っていうボタンを押すと、変数一覧の情報をファイルに出力できます。
保存するときに、拡張子を「.csv」で保存して右クリック⇒「編集」でメモ帳で開くと
変数の名前をカンマ区切りで列挙した行が手に入るので、それを「項目名(カンマ区切り)」に値⇒で張り付ければその瞬間の全部の変数の現在値をCSV出力できます。
繰り返し処理とか、都度変数の状況が変わってしまう処理のデータ推移状況を確認するのには丁度いいと思いますよ。