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は上記のような結果で出るのですが・・・

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/03/06 16:40:12

回答1件)

id:cx20 No.1

回答回数607ベストアンサー獲得回数108

「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)
20120106240106113800041010133921201060001"㈲福住建設    
201201062401062138000410301-33921201060001"㈲福住建設    
20120106240106313800241030133921201060002"㈲福住建設    
201201062401064138002415201-33921201060002"㈲福住建設    

数値であれば、条件も数値にする必要があります。

' 4列目が「1030」でなく、かつ5列目が「1」でない場合
If Ot_Array(4) <> 1030 And Ot_Array(5) <> 1 Then
   ot = ot & vbCrLf
End If

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません