CSV形式のファイルをVBSにドロップして任意のCSVに出力するPGを作成しましたが、表示結果を修正できない修正方法を教えて下さい。
下記の結果において2行目と3行目を削除したいのです。
現在出力される結果
20120106 240106 1 1380004 1010 1 3392 1201060001"㈲福住建設
20120106 240106 2 1380004 1030 1 -3392 1201060001"㈲福住建設
20120106 240106 3 1380024 1030 1 3392 1201060002"㈲福住建設
20120106 240106 4 1380024 1520 1 -3392 1201060002"㈲福住建設
PG抜粋
if Ot_Array(4) & "." & Ot_Array(5) <> "1030.0001" then '120226
ot= ot & vbcrlf
end if '120226
end if
otは上記のような結果で出るのですが・・・
「Ot_Array(4) & "." & Ot_Array(5)」に何がセットされているか確認してみてください。
以下は、変数の内容をログファイルに出力するサンプルになります。
Const g_strLogFile = "C:\TEMP\DebugPrint.Log" ' 出力先ファイル名 Dim Ot_Array(7) Ot_Array(0) = 20120106 Ot_Array(1) = 240106 Ot_Array(2) = 1 Ot_Array(3) = 1380004 Ot_Array(4) = 1010 Ot_Array(5) = 0001 Ot_Array(6) = 3392 Ot_Array(7) = "1201060001""㈲福住建設 " DebugPrint "Ot_Array(4) の値 : " & Ot_Array(4) DebugPrint "Ot_Array(4) の型 : " & TypeName(Ot_Array(4)) DebugPrint "Ot_Array(5) の値 : " & Ot_Array(5) DebugPrint "Ot_Array(5) の型 : " & TypeName(Ot_Array(5)) ' デバッグ文字列の出力 Function DebugPrint(ByVal strData ) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") With fso.OpenTextFile(g_strLogFile, 8, True) ' 追加書き込みモード .WriteLine strData .Close End With End Function
Ot_Array(5) に文字列として "0001" が入っていることを想定されているかと思いますが、恐らくは、数値の「1」が入っているかと思います。
Ot_Array(0) | Ot_Array(1) | Ot_Array(2) | Ot_Array(3) | Ot_Array(4) | Ot_Array(5) | Ot_Array(6) | Ot_Array(7) |
---|---|---|---|---|---|---|---|
20120106 | 240106 | 1 | 1380004 | 1010 | 1 | 3392 | 1201060001"㈲福住建設 |
20120106 | 240106 | 2 | 1380004 | 1030 | 1 | -3392 | 1201060001"㈲福住建設 |
20120106 | 240106 | 3 | 1380024 | 1030 | 1 | 3392 | 1201060002"㈲福住建設 |
20120106 | 240106 | 4 | 1380024 | 1520 | 1 | -3392 | 1201060002"㈲福住建設 |
数値であれば、条件も数値にする必要があります。
' 4列目が「1030」でなく、かつ5列目が「1」でない場合 If Ot_Array(4) <> 1030 And Ot_Array(5) <> 1 Then ot = ot & vbCrLf End If
コメント(0件)