【发布时间】:2014-05-26 19:40:29
【问题描述】:
我的代码可以打开和更改 Excel 表,将其保存到新的(网络)位置,然后从新格式化的 Excel 中导入数据。我遇到的问题是代码找不到新创建的文件,说它不存在。我玩过添加“暂停”功能,但我想知道是否有办法在 vba 中刷新网络链接?或者有没有更好的方法?文件会因大小而异。
如果我在代码中添加一个中断并让它静置几分钟,它会发现文件正常。
Private Sub btnImport_Click()
[other code]
'save excel file onto network location
xlApp.ActiveWorkbook.SaveAs ("\\network\file.xlsx")
xlApp.Quit
'Import file to temp table.
DoCmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel9, "tblImport","\\network\file.xlsx", True
End sub
运行时错误“3011”:Microsoft Access 数据库引擎找不到对象“\network\file.xlsx”。确保对象存在并且正确拼写其名称和路径名。
【问题讨论】:
-
如果你已经完成了 Excel,那么在退出后使用
Set xlApp = Nothing。在此之前释放任何其他 Excel 资源。我不认为这应该是一个问题,但可能会让你更近一步。在此之后拨打DoEvents也不会受到伤害。