Hatena::Groupvbscript

ADO

主要な Windows 標準コンポーネントの一覧 → http://vbscript.g.hatena.ne.jp/keyword/ProgID
VBScript 基礎文法最速マスター → http://vbscript.g.hatena.ne.jp/cx20/20100131/1264906231

ADO

ADO

概要

ADOActiveX Data Objects)とは、Microsoft 社の提唱する データ アクセス プログラミング モデルのことです。

色々なデータソース(DBExcel ファイル、テキストファイル等)に、同じ手順でアクセスすることができるようになります。

サンプル

' File : ShowCsvData.vbs
' Usage : CScript //Nologo ShowCsvData.vbs
' Description : VBScript から ADO を使用して CSV ファイルファイルを読み込むサンプル
Option Explicit

Call Main()

Sub Main()
    Dim cn
    Set cn = CreateObject("ADODB.Connection")
    
    Dim strDataSource
    Dim strFileName
    Dim strConnection
    
    strDataSource = ".\"
    strFileName = "sample.csv"

    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & strDataSource & ";" & _
        "Extended Properties=" & Chr(34) & "text;HDR=Yes;FMT=Delimited;" & Chr(34) & ";"

    cn.Open strConnection
    
    Dim strSQL
    Dim rs
    strSQL = "SELECT * FROM " & strFileName
    Set rs = cn.Execute( strSQL )
    
    Call ShowRecordset( rs )
End Sub

Sub ShowRecordset( rs )
    While Not rs.BOF And Not rs.EOF
        Dim i
        For i = 0 To rs.Fields.Count-1
            DebugPrint "rs.Fields(" & i & ")= [" & rs.Fields(i) & "](" & rs.Fields(i).Name & ")"
        Next
        rs.MoveNext
    Wend
End Sub

Sub DebugPrint( strMessage )
    ' WSH で実行する場合
    WScript.Echo strMessage
    ' VBA で実行する場合
    ' Debug.Print strMessage
End Sub
入力ファイル(sample.csv
field1,field2,field3
aaa,111,123
bbb,222,456
ccc,333,789
実行結果
rs.Fields(0)= [aaa](field1)
rs.Fields(1)= [111](field2)
rs.Fields(2)= [123](field3)
rs.Fields(0)= [bbb](field1)
rs.Fields(1)= [222](field2)
rs.Fields(2)= [456](field3)
rs.Fields(0)= [ccc](field1)
rs.Fields(1)= [333](field2)
rs.Fields(2)= [789](field3)

参考情報


* はてなダイアリーキーワード:ADO