VB操作Excel,为什么只能操作一次,第二次就出错(完成后,再追加分!)

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:31:43
我做一个程序:用VB从数据库中查询数据。先创建一个新的Excel文件,然后用 .CopyFromRecordset cn.Execute(sq1)的方法直接粘贴到新创建的Excel文件中,然后关闭。但是这种方法只能同时执行一次,如何第二次查询后再次创建Excel文件是可以的,只是不能粘贴到数据了。经查找资料,好像是任务管理器中的Excel.exe进程没有别关掉,才导致错误。请大家帮帮忙吧。谢谢了!
以下是代码!高手给看看吧。急啊!!!!
Dim cn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim sq1 As String

Dim xlApp As Excel.Application
Dim xlBook As Excel.workbook
Dim xlSheet As Excel.Worksheet

Sub 导出Excel数据()
On Error GoTo err

cn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & App.Path & "\Data.mdb"
sq1 = saveSQL 'saveSQL 保存sql语句的全局变量
rs1.Open sq1, cn, adOpenKeyset, adLockOptimistic

Dim GetFileName As Variant
Form8.CommonDialog1.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*"
Form8.CommonDialog1.CancelError = True
Form8.CommonDialog1.ShowSave
GetFileName = Form8.CommonDialog1.FileName
If Trim(Ge

xlbook.Close '关闭工作薄文件
xlapp.Quit '结束excel对象
Set xlapp = Nothing '释放xlapp对象得内存空间
Set xlbook = Nothing
Set xlsheet = Nothing

没有看你的代码 ,但是你说:经查找资料,好像是任务管理器中的Excel.exe进程没有别关掉,才导致错误。
那么你就把进程关掉就行了啊。
ctrl+alt+del
选择“进程”,右边第二个
找到你的excel.exe进程,然后结束就行了。
如果真的是这个原因的话。

excel保存这段没有问题,感觉CommonDialog1.ShowSave 这个应该设置成可以覆盖保存