如何解决Excel崩溃,尝试连续运行类似的VBA宏
我对VBA还是比较陌生,但是我已经能够找到适合我正在从事的项目的大多数需求的代码和解决方案。但是,我无法找到以下问题的解决方案。
我在同一目录中有4个DBF文件,这些文件链接到一个program \ application,该程序将它们中的数据导入到程序中。我正在尝试将数据从Excel工作簿导出到这些DBF文件。
我发现以下代码适合我的情况。为了使其正常工作,我发现首先需要通过使用Access打开和关闭每个DBF文件来创建一个.accdb文件。然后,我用4组相似的代码创建了4个宏,以将数据导出到4个DBF(.accdb)文件中。我还将代码中的Microsoft.Jet.OLEDB.4.0更新为Microsoft.ACE.OLEDB.16.0,并启用了Microsoft ActiveX数据对象6.1库。
Sub ADOFromExcelToDBF()
Dim cn As ADODB.Connection,rs As ADODB.Recordset,r As Long
' connect to the Access database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\FolderName\DataBaseName.dbf;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "TableName",cn,adOpenKeyset,adLockOptimistic,adCmdTable
' all records in a table
r = 3 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("FieldName1") = Range("A" & r).Value
.Fields("FieldName2") = Range("B" & r).Value
.Fields("FieldNameN") = Range("C" & r).Value
' add more fields if necessary...
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
我遇到的问题是,尽管所有宏都单独工作,但是如果我尝试一个接一个地运行每个宏,Excel就会崩溃。尝试运行第二个宏(没有错误消息-Excel关闭并且当我重新打开它时,它说它已经恢复了工作簿)时,一个宏(无论哪个宏)都将在Excel崩溃之前始终起作用。
我发现它们都可以正常运行而不会崩溃的唯一方法是在运行每个宏后关闭并重新打开Excel。
我想知道是否有人知道为什么会发生这种情况以及是否有解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。