• 締切済み

VBScriptでのcsvデータ処理について

プログラミング超初心者です。 仕事でwebサイトのPV数の集計をVBSで処理することを任されました。 読み込むcsvファイルはページのアドレスとPV数の他4項目あり、 同一アドレス毎にPV数の項目だけを集計します。 途中まで自分で書いてみましたが、時間が無くなって来ましたので相談させて頂きたいと思います。 とりあえず以下のように書いてみましたが、実際どう書けば良いのでしょうか?今のところstrLine = csvData.ReadLineのところでエラーになってしまいます。基本的に間違っていることが多いと思いますが、どなたかお時間あれば、ご指南頂けないでしょうか! Dim objFSO Dim csvData Dim strLine Dim arrLine Dim i Dim arrAllDate Dim view01 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\Analytics.csv") csvData = objFile.ReadAll Do until csvData.AtEndOfStream   strLine = csvData.ReadLine   arrLine = split(strLine , ",")   Redim Preserve arrAllDate(i+1) arrAllDate(i)=arrLine i = i + 1 Loop Dim url01= arrAllDate(0,i) If url01= "/http://*********/*******/01"+ Then Do until url01 = <>"" view01 = view01 + arrAllDate(1,i) Loop      ・      ・      ・      ・

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>同一アドレス毎にPV数の項目だけを集計します。 参考に Dim objFSO Dim myDic Dim objFile Dim arrLine Dim d Set objFSO = CreateObject("Scripting.FileSystemObject") Set myDic = CreateObject("Scripting.Dictionary") Set objFile = objFSO.OpenTextFile("G:\data.csv") Do Until objFile.AtEndOfStream   arrLine = split(objFile.ReadLine, ",")   myDic(arrLine(0)) = myDic(arrLine(0)) + CLng(arrLine(1)) Loop objFile.Close For Each d In myDic.keys   MsgBox d & "の計は、" & myDic(d) Next Set objFSO = Nothing: Set myDic = Nothing

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

前半部分のみですが Dim objFSO Dim csvData Dim strLine Dim arrLine Dim i Dim arrAllDate() Dim view01 Set objFSO = CreateObject("Scripting.FileSystemObject") Set csvData = objFSO.OpenTextFile("C:\Analytics.csv") Do until csvData.AtEndOfStream strLine = csvData.ReadLine arrLine = split(strLine , ",") Redim Preserve arrAllDate(i+1) arrAllDate(i)=arrLine i = i + 1 Loop スクリプト内に全角スペースがあるとエラーになるので注意してください。 サクラエディタやEXCELのVBAのエディタを利用してスクリプトを作成したほうが文法エラーを発見しやすいです。 以上ですがんばってください。

関連するQ&A