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

时间:2019-07-12 13:26:32

标签: ms-access access-vba

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

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

1 个答案:

答案 0 :(得分:0)

用于更改到Excel工作表的链接路径的代码。这要求已经建立了与工作表的链接,并且db中存在链接对象。

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") & _
     "\Desktop\Reports\filename.xlsx;HDR=NO"
Tdf.RefreshLink
Set Tdf = Nothing
Set Db = Nothing
End Sub

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