【发布时间】:2019-01-25 06:32:53
【问题描述】:
我使用以下Access VBA代码循环打开四个不同的excel工作簿,同时我需要编辑excel数据,然后通过记录集更新Access表。
xl.Application.DisplayAlerts = False
Set wb = xl.Workbooks.Open(fileName, ReadOnly = True, editable = True, notify = False)
Set ws = wb.Sheets("Sheet1")
Set ws2 = wb.Worksheets.Add
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fileName & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
*****其他代码******
wb.Close savechanges:=False
Set wb = Nothing
Set xlc = Nothing
Set ws = Nothing
Set ws2 = Nothing
Set xl = Nothing
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
但是,即使我关闭了 excel 文件而不保存所有四个文件,在完整循环后我仍然会收到以下通知。
使用Set wb = xl.Workbooks.Open(fileName, ReadOnly = True, editable = True, notify = False),我仍然无法关闭通知。
附言。我没有收到所有四个文件的读写通知,通常是一两个,这让我很困惑。
有解决问题的建议吗?
提前感谢所有帮助!
【问题讨论】:
-
它并没有解决根本问题,但是设置以下是否可以解决提示?
Application.DisplayAlerts = False -
我仍然收到此通知,如屏幕截图所示,我尝试了所有方法...
-
也许“文件现在可用”提示是针对 ADO 记录集/连接对象的?也许您可以尝试使用客户端游标,或者如果可能,请尝试在关闭工作簿之前关闭记录集/连接以查看是否有帮助?