gpt4 book ai didi

excel - 试图杀死导入 Excel 的临时 mdb

转载 作者:行者123 更新时间:2023-12-04 20:43:49 24 4
gpt4 key购买 nike

我试图在 VBA 中杀死一个 *.mdb 文件,但是当它在 Excel 中使用时,我得到了一个 Permission denied 。

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

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

如何关闭连接?

这是 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

最佳答案

在字符串 QueryTable 之后添加以下行:

.MaintainConnection = False

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

关于excel - 试图杀死导入 Excel 的临时 mdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com