- 締切済み
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 ・ ・ ・ ・
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
>同一アドレス毎に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)
前半部分のみですが 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のエディタを利用してスクリプトを作成したほうが文法エラーを発見しやすいです。 以上ですがんばってください。