• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBScriptでテキストファイルの内容の間違い探しは出来るでしょうか)

VBScriptを使用してテキストファイルの間違いを探す方法

このQ&Aのポイント
  • VBScriptを使用してテキストファイルの内容の間違いを見つける方法を教えてください。
  • CSV形式のテキストファイルで、一部の行の内容が正しくありません。特定の条件で間違った行を見つけて、別のファイルに書き出したいです。
  • A列とB列の値が一致する行のC列のデータが正しいか確認するための効果的なアルゴリズムを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

色々な方法があります。 (1)データを読み込んで配列に溜め、比較を行う。 (2)fcコマンドを実行して標準出力をモニタする。 (3)クエリを使う。 (3)はJetドライバがインストールされていれば可能です。 (2)はWSHのExecでfcコマンドを走らせ、StdOutを読み込みます。  あるいはリダイレクトして出力ファイルを見る方法もあります。 (1)はまぁ、コテコテとプログラムすることになります。 (3)の例を示します。 Dim C, R Set C = CreateObject("ADODB.Connection") C.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _     "Data Source=C:\~;" & _     "Extended Properties=""text;HDR=No;FMT=Delimited""" Set R = CreateObject("ADODB.Recordset") R.Open "SELECT A.*,B.F3 FROM comp1.txt A INNER JOIN comp2.txt B" & _     " ON A.F1=B.F1 AND A.F2=B.F2 AND A.F3<>B.F3", A, 0 Do Until R.EOF     '★R.Fields(n).Value をファイルに書き出す Loop R.Close C.Close ConnectionStringに設定する文字列でSourceに指定するのはパスで、 ファイル名でないことに注意してください。1行目がフィールド名でない という指定(HDR=No)にしているので、フィールド名はF1,F2,F3・・・に なります。

mr-r00
質問者

お礼

ありがとうございます。 参考にさせていただきます。 どうしてもJETがうまく入らず・・・試行錯誤しておりますがお礼をさせていただきます

その他の回答 (1)

  • bajutsu
  • ベストアンサー率20% (139/693)
回答No.1

こういうのって、アルゴリズムを考える工程が 一番楽しいんだよね。 よって、自分で考えてください。 たいして難しくはない。 ファイルの入力順は合ってる前提? 入力件数は必ず一致? 必ず文字コードの昇順or降順で統一されてるとか、されてないとか。 A列+B列は、必ずユニークになるのか? その辺がどうなっているのかによって 作りも難易度も変わってきますが…。

mr-r00
質問者

お礼

ありがとうございます

関連するQ&A

専門家に質問してみよう