• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:wshでcsvファイルのソートを行いたい)

wshでcsvファイルのソートを行いたい

このQ&Aのポイント
  • wshのプログラムでcsvファイルのソートを行いたいです。現在はadodbのsort関数を使用しているがうまくいかず、他の方法を探しています。
  • csvファイルのソートのキーは「判定区分」の値で昇順に行いたいです。また、ソート対象はcsvファイルの一行目を除きます。
  • 現在のソースコードではエラーが発生しています。ソート処理のみですでに問題があり、解決方法を探しています。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

こんな感じの VBS でどうでしょ。 E:\TMP フォルダ中に test.csv があると仮定しています。 なお、下記はExcelの標準モジュール(Sub モジュール)でも可。 ※日付フィールドの書式変更はそちらで行ってください。 Dim cn Dim rs Dim xl, bk Dim i Set cn = CreateObject("ADODB.Connection") With cn .Provider = "Microsoft.JET.OLEDB.4.0" .ConnectionString = _ "Data Source=E:\TMP;" _ & "Extended Properties='text;HDR=Yes;" _ & "FMT=Delimited'" .Open End With Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM test.csv order by 判定区分", cn', 0, 1, 1 Set xl = CreateObject("excel.application") xl.Visible = True Set bk = xl.Workbooks.Add For i = 0 To rs.Fields.Count - 1 bk.Sheets(1).Cells(1, i + 1) = rs.Fields(i).Name Next bk.Sheets(1).Cells(2, 1).CopyFromRecordset rs xl.UserControl = True rs.Close:set rs = Nothing cn.Close:set cn = Nothing

psb01
質問者

お礼

回答してくださってどうもありがとうございます。 本当にとても助かりました。 ADODBの使用ははじめてだったので早急にご回答いただいてとても助かりました。 ありがとうございました。