Excel VBA 逆引き集 | 接続文字列テンプレ

Excel VBA
スポンサーリンク

外部連携 × 接続文字列テンプレ(ADO接続)

Excel VBAから外部データベースに接続する際に必ず必要になるのが 接続文字列(ConnectionString) です。
初心者向けに、よく使う接続文字列のテンプレートをまとめ、コード例と一緒にかみ砕いて説明します。


基本の考え方

  • 接続文字列とは?
    DBの種類・場所・ユーザー情報などをまとめた文字列。ADOの Connection オブジェクトに渡して使う。
  • 流れ:
    1. CreateObject("ADODB.Connection") で接続オブジェクトを作成
    2. ConnectionString に接続情報を設定
    3. 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で 様々な外部データベースに接続し、データを取り込んだり更新したりする処理 を簡単に作成できます。

タイトルとURLをコピーしました