ADOでExcelブックに接続する

ADOでExcelブックに接続する

Sub Excelに接続()
Dim myCon As New ADODB.Connection, FileName As String
Dim conStr As String

'接続先のExcelファイル
FileName = ThisWorkbook.Path & "\xls\DataBook.xls"

'接続文字列
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Extended Properties=Excel 8.0;" & _
          "Data Source=" & FileName
'接続
myCon.Open conStr

MsgBox "Excelブックに接続完了!"

'接続を解除し、オブジェクトをクリア
myCon.Close: Set myCon = Nothing

End Sub

ADOには、Excel専用のOLE DB
プロバイダはない。
Jet用(Accessのmdb形式のファイル用)のプロバイダである「OLE
DB Provider for Microsoft Jet」を使用する。
個々のOLE DB プロバイダには、接続するデータベース内容に応じて、独自の設定を行えるようになっているものがある。
Jet用のOLE DB プロバイダにはExcelをデータベースとして扱うための設定が用意されている。
この設定は、接続文字列中に「Extended Properties=設定を表す文字列」の形式で記述する。
Excel ブックに接続するには「Extended Properties」と言う設定名に「Excel 8.0」と言う文字列を指定する。