链接表管理器:需要MS Access VBA代码来更改MS Excel文件的文件位置



我有一个 2013 MS Access 数据库,在不同位置有多个用户。我有几个 excel 文件作为链接表。Excel 文件位于共享驱动器上,因此所有用户都可以访问该信息。我们遇到的问题是共享驱动器速度很慢,因此加载报表需要很长时间。

我想要VBA代码,当用户打开数据库时,共享驱动器Excel文件会自动下载到其本地配置文件桌面。当然,每个用户配置文件都是不同的,因此链接表必须知道更改人员配置文件名称:"C:\Users\"和Environ("用户名"(和"\Desktop\Reports"。链接表管理器将不允许 Environ("用户名"(,因此它可能必须在 VBA 中完成。

用于更改指向 Excel 工作表的链接路径的代码。这需要已经建立了与工作表的链接,并且链接对象存在于数据库中。

Sub ChangeExcelLink()
Dim Tdf As DAO.TableDef
Dim Db As DAO.Database
Set Db = CurrentDb
Set Tdf = Db.TableDefs("link table name")
Tdf.Connect = "Excel 12.0;DATABASE=C:Users" & Environ("Username") & _
     "DesktopReportsfilename.xlsx;HDR=NO"
Tdf.RefreshLink
Set Tdf = Nothing
Set Db = Nothing
End Sub

如果工作表包含要保留的列标题,请将HDR=No更改为HDR=Yes或删除该参数,因为"是"是默认值。如果数据库需要密码,请使用 ;PWD=yourpassword

最新更新