パスワード付きのエクセルファイルに接続する
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ブックのパスワードには対応していない。そのため、対象ファイルにパスワードが設定されている場合には、あらかじめパスワードを指定して開いておく必要がある。
