外部連携 × 接続文字列テンプレ(ADO接続)
Excel VBAから外部データベースに接続する際に必ず必要になるのが 接続文字列(ConnectionString) です。
初心者向けに、よく使う接続文字列のテンプレートをまとめ、コード例と一緒にかみ砕いて説明します。
基本の考え方
- 接続文字列とは?
DBの種類・場所・ユーザー情報などをまとめた文字列。ADOのConnectionオブジェクトに渡して使う。 - 流れ:
CreateObject("ADODB.Connection")で接続オブジェクトを作成ConnectionStringに接続情報を設定Openで接続開始
テンプレ1:Accessデータベース(.accdb)
Sub Connect_Access()
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' Accessファイルに接続
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\temp\sample.accdb;"
conn.Open
MsgBox "Accessに接続しました!"
conn.Close
End Sub
VB- ポイント:
Provider=Microsoft.ACE.OLEDB.12.0がAccess用。Data Sourceにファイルパスを指定。
テンプレ2:SQL Server
Sub Connect_SQLServer()
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' SQL Serverに接続
conn.ConnectionString = "Provider=SQLOLEDB;" & _
"Data Source=サーバー名;" & _
"Initial Catalog=データベース名;" & _
"User ID=ユーザー名;" & _
"Password=パスワード;"
conn.Open
MsgBox "SQL Serverに接続しました!"
conn.Close
End Sub
VB- ポイント:
Data Sourceはサーバー名(例:localhost)。Initial CatalogはDB名。- ユーザー名とパスワードを指定。
テンプレ3:MySQL(ODBCドライバ利用)
Sub Connect_MySQL()
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' MySQLに接続(ODBCドライバ)
conn.ConnectionString = "Driver={MySQL ODBC 8.0 Driver};" & _
"Server=localhost;" & _
"Database=testdb;" & _
"User=root;" & _
"Password=pass;" & _
"Option=3;"
conn.Open
MsgBox "MySQLに接続しました!"
conn.Close
End Sub
VB- ポイント:
- MySQLはODBCドライバをインストールして利用。
Driver={MySQL ODBC 8.0 Driver}を指定。
テンプレ4:Oracle
Sub Connect_Oracle()
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' Oracleに接続
conn.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=ORCL;" & _
"User ID=scott;" & _
"Password=tiger;"
conn.Open
MsgBox "Oracleに接続しました!"
conn.Close
End Sub
VB- ポイント:
Provider=OraOLEDB.Oracleを利用。Data SourceはOracleのサービス名。
テンプレ5:ExcelファイルをDBのように扱う
Sub Connect_ExcelFile()
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' Excelファイルを接続対象にする
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\temp\sample.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
conn.Open
MsgBox "Excelファイルに接続しました!"
conn.Close
End Sub
VB- ポイント:
- Excelファイルを「テーブル」として扱える。
HDR=YESは1行目をヘッダーとして扱う設定。
例題で練習
'例1:Accessファイルに接続して顧客マスタを取り込む
'例2:SQL Serverに接続して商品一覧を取得
'例3:MySQLに接続して在庫データを取得
'例4:Oracleに接続して社員マスタを取り込む
'例5:ExcelファイルをDBのように扱ってデータを読み込む
VB初心者向けポイント
- 接続文字列はDBごとに違う → ProviderやDriverを正しく指定。
- Data Sourceは「場所」 → ファイルパスやサーバー名。
- Initial Catalogは「DB名」 → SQL Serverなどで必須。
- ユーザー名・パスワードを忘れずに → セキュリティに注意。
- ExcelファイルもDBのように扱える → 取り込みや分析に便利。
👉 この「外部連携 × 接続文字列テンプレ」を覚えておけば、Excel VBAで 様々な外部データベースに接続し、データを取り込んだり更新したりする処理 を簡単に作成できます。
