--[[プログラミングガイド]]~

*Excel VBAサンプル(ADO、ODBC) [#e60e3d09]
 ※要ODBCドライバインストール

+エクセルのブックを新規作成
+メニューバーから「ツール」−「マクロ」−「Visual Basic Editor」をクリック
+Visual Basic Editorのメニューバーから「ツール」−「参照設定」をクリック
+参照設定ウィンドウで「Microsoft ActiveX Data Objects x.x Library」をチェック(新しそうな奴を適当に)
+↓のソースを貼り付け実行(SQLやDBのパスは適当に変更)

 Sub hoge()
    Dim con As ADODB.Connection
    Dim recordSet As ADODB.recordSet
    Dim outPutSheet As Worksheet
    Dim row As Long
    Dim col As Long
 
    Set con = New ADODB.Connection
    Set recordSet = New ADODB.recordSet
    Set outPutSheet = ThisWorkbook.Sheets("Sheet1") '出力先シート
    outPutSheet.Cells.Clear
 
    'DB接続とデータ取得
    con.Open "DRIVER=Firebird/InterBase(r) driver; SERVER=localhost; DATABASE=c:\hoge.fdb;" & _
             "UID=sysdba; PWD=masterkey;Client=C:\Program Files\Firebird\Firebird_2_0\bin\fbclient.dll"
    recordSet.Open "select * from rdb$database", con, adOpenForwardOnly, adLockReadOnly, -1
 
    'データ展開
    For col = 0 To recordSet.Fields.Count - 1
        outPutSheet.Cells(1, col + 1).Value = recordSet.Fields(col).Name    '列名
    Next col
    row = 2
    While (Not recordSet.EOF) And row < 60000
        For col = 0 To recordSet.Fields.Count - 1
            outPutSheet.Cells(row, col + 1).Value = recordSet.Fields(col).Value   'データ
        Next col
        recordSet.MoveNext
        row = row + 1
    Wend
 
    '終了処理
    recordSet.Close
    con.Close
    If row > 60000 Then
        MsgBox "60000行を超えたため中断しました"
    Else
        MsgBox "出力が終了しました"
    End If
 End Sub