パスワード付きのエクセルファイルに接続する
Sub Excelに接続4() 'パスワード付きのエクセルファイルに接続する Dim myCon As New ADODB.Connection, FileName As String, myPass As String Dim conStr As String '接続先のExcelファイルとパスワード FileName = ThisWorkbook.Path & "\xls\DataBook_pass.xls" myPass = "password" 'エクセルファイルを開く (ファイルが開かれていないと接続できない) Workbooks.Open FileName, Password:=myPass '接続文字列 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 'Excelブックを閉じる Workbooks("DataBook_pass.xls").Close End Sub
パスワードつきのExcelファイルに接続するには、対象ファイルが開かれていないと接続できない。
ADOには、データベースに対するユーザー名や、パスワードを指定して開くための設定が用意されているが、Excelブックのパスワードには対応していない。そのため、対象ファイルにパスワードが設定されている場合には、あらかじめパスワードを指定して開いておく必要がある。