VBA:AccessでExcelのリンクテーブルの接続先(リンク元)の変更方法(DAO)
1.やりたいこと
AccessのExcelのリンクテーブルの接続先・リンク元のパスを変更したい。
2.サンプルコード
サンプルコードは以下となります。
実行するとAccessのリンクテーブルの接続先・リンク元が変更されます。
(1)リンク更新をする方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Option Explicit Function RefreshLink_Excel() Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim FPath As String Dim SName As String Set dbs = CurrentDb '変更したいリンクテーブルを指定' Set tdf = dbs.TableDefs("リンクテーブル_Excel") '変更したいExcelファイルのパスをファイル名まで指定する。' FPath = "C:\Users\xxxx\テストデータ\test.xlsx" 'Excelのシート名' SName = "一覧" 'リンクテーブルの元ファイルとシート名を指定' tdf.Connect = "Excel 12.0;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=" & FPath & ";TABLE=" & SName & ";" 'HDR:Yesは1行目をヘッダーとする。Noは1行目からデータとしてリンクを貼るのでカラムは「F1」とかになる。' 'リンクテーブルを更新' tdf.RefreshLink Set dbs = Nothing Set tdf = Nothing End Sub |
◆関連記事

AccessVBA:【DAO】テーブルのインデックス作成・削除(CREATE INDEX・UNIQUE INDEX・DROP INDEX)
【VBA】DAOを使ったテーブルのインデックスの作成と削除の方法について