【VBA】ExcelからパスワードのかかっているAccessに接続する

VBA

ExcelからパスワードのかかっているAccessにVBAで接続してみます。

ExcelからAccessにVBAで接続するときに
ADOではADODB.ConnectionのConnectionStringに
接続文字列を代入します。

 

しかし、パスワードがかかっているAccessファイルに接続すると
エラーが発生します。

Accessファイルの暗号化方法を変更

ExcelからAccessに接続する前に、Accessの暗号化方法を事前に変更しておきます。

 

既にAccessにパスワードがかかっている場合は
Accessのパスワードを解除してから次の手順に進んでください。

Accessにパスワードがかかっている状態で、手順を進めると
ExcelからAccessの接続でエラーが発生します。

 

Accessファイルを開き、オプションのクライアントの設定から
暗号化方法を「以前の暗号化方法を使用する」を選択してOKを押します。

 

Accessファイルにtestというパスワードをかけます。

 

今回はテストのためパスワードを簡単なものにしています。
実際にパスワードをかける場合は、もっと複雑なものを使用してください。
パスワードを忘れるとAccessを開けなくなるので、注意してください。

 

ExcelからパスワードのかかっているAccessに接続するコード

ExcelからパスワードのかかっているAccessに接続し
データをコピーしてExcelに貼り付けるコードです。

パスワードのかかっているAccessには
ADODB.connectionのConnectionStringの接続文字列に
パスワードを含むことによって接続できます。

AccessファイルはMenuData.accdbというファイル名で
C:\excel-access-password\に置いてあると想定します。

 

 

接続文字列にpasswordを含んでいます。

 

コードを実行するとインプットボックスが表示されますので
Accessのパスワードを入力して、OKを押します。

 

シートにAccessのデータが表示されました。
パスワードのかかっているAccessからデータを取り出すことができました。

コメント