尝试杀死导入到Excel中的临时mdb

我试图杀死VBA中的* .mdb文件,但是我得到的权限被拒绝,因为它正在Excel中使用。

If (fso.FileExists(tablepath & tablename & ".mdb")) Then Kill tablepath & tablename & ".mdb" End If 

我想导入它,然后删除它。 我以为下面的导入一旦导入就closures了与mdb的连接,显然不是。

我怎样才能closures连接?

这是MS Excel 2010 32位。

  With Workbooks(new_workbook_name).Sheets(FolderName & " Detail").ListObjects.Add(SourceType:=0, Source:=Array( _ "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & tablepath & tablename & ".mdb;" _ , _ "Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:D" _ , _ "atabase Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Glob" _ , _ "al Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=Fals" _ , _ "e;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Supp" _ , "ort Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False"), _ Destination:=Range("A1")).QueryTable .CommandType = xlCmdTable .CommandText = Array(tablename) .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceDataFile = _ tablepath & tablename & ".mdb" .ListObject.DisplayName = "Table_" & tablename .Refresh BackgroundQuery:=False End With 

在stringQueryTable之后添加行:

 .MaintainConnection = False 

在这种情况下,查询后连接被释放。 默认值是true。