Attribute VB_Name = "Module1" '■ マクロ500連発<第2段> ' ' ADOを使ってリモートデータベース(Oracle)のデータを取得する ' ' Copyright(C) 2000 Sunago ' '  このマクロを実行するには、参照可能なライブラリファイルに ' Microsoft ActiveX Data Objects 2.1 Library(ADODB)または ' 同等ライブラリへの参照設定とリモートサーバ(Oracle)に接続 ' できる環境が必要です。 ' Option Explicit '/* ADO(OLEDB for Oracle)を用いた例 */ ' Sub Macro1() Dim Cnn As ADODB.Connection Dim Rec As ADODB.Recordset Dim strCnn As String Dim i As Integer 'バージョンチェック If Ver9Check = False Then MsgBox "このバージョンのEXCELでは動作しません" Exit Sub End If '接続文字列の編集 ' Provider=MSDAORA; ※ORACLEを設定 ' Data Source=XXX; ※データベースの別名を設定 ' User Id=SCOTT; ※ユーザーIDを設定 ' Password=TIGER; ※パスワードを設定 strCnn = "Provider=MSDAORA;" & _ "Data Source=XXX;User Id=SCOTT;Password=TIGER;" 'サーバーへの接続 Set Cnn = New ADODB.Connection Cnn.Open strCnn 'レコードセットの作成 Set Rec = New ADODB.Recordset Rec.Open "SELECT * FROM EMP", Cnn, , , adCmdText For i = 1 To Rec.Fields.Count Cells(1, i) = Rec.Fields(i - 1).Name Next Range("A2").CopyFromRecordset Rec '接続解除 Rec.Close Cnn.Close Set Rec = Nothing Set Cnn = Nothing End Sub Private Function Ver9Check() As Boolean Dim strver As String strver = Application.Version If Int(Left(strver, InStr(strver, "."))) < 9 Then Ver9Check = False Else Ver9Check = True End If End Function