如何通过VBA移除MS Access中已链接的Excel文档?
在MS Access中删除Excel链接表的VBA方法
你之前创建的链接表名为link,可以通过以下两种可靠的VBA方法删除它:
方法一:使用DoCmd.DeleteObject
这是最直观的方式,直接删除指定名称的链接表:
' 先判断链接表是否存在,避免报错 If TableExists("link") Then DoCmd.DeleteObject acTable, "link" MsgBox "链接表已成功删除" Else MsgBox "指定的链接表不存在" End If ' 辅助函数:检查表是否存在 Function TableExists(tableName As String) As Boolean Dim td As TableDef On Error Resume Next Set td = CurrentDb.TableDefs(tableName) TableExists = (Err.Number = 0) Set td = Nothing End Function
方法二:使用TableDefs.Delete
通过数据库的TableDefs集合删除链接表,适合需要更精细控制数据库对象的场景:
Dim db As DAO.Database Set db = CurrentDb On Error Resume Next ' 删除指定的链接表 db.TableDefs.Delete "link" If Err.Number = 0 Then MsgBox "链接表已成功删除" Else MsgBox "删除失败:" & Err.Description End If Set db = Nothing
为什么之前的.remove方法失败?
Access的DAO.TableDefs集合没有Remove方法,对应的正确方法是Delete,你之前可能混淆了其他对象集合的方法(比如Excel中的集合),导致操作失败。
内容的提问来源于stack exchange,提问作者angelo alamia
相关产品推荐
相关产品推荐

