vb 连续导出EXCEL表问题 第一次可以保存,第二次在保存语句报错误。并EXCEL进程未关闭。高手解答!

来源:百度知道 编辑:UC知道 时间:2024/05/20 10:08:56
vb 连续导出EXCEL表问题 第一次可以保存,第二次在保存语句报“对象变量或 With 块变量未设置”错误。并EXCEL进程未关闭。高手解答,代码如下!

Private Sub M_WXD_Excel_Click() '导出维修单列表到EXCEL
T1 = DTPicker1.Value
T2 = DTPicker2.Value
k = 0
picLOAD.Visible = True
sql = ""
Call OpenConn
.....................................

End If
rs.Open sql, cn, 1, 1
If rs.RecordCount <= 0 Then
MsgBox "没有可以导出的记录!", 48, "错误提示"
Exit Sub
Else
Call OpenExcel
'添加设定标题格式
myexcel.Range("A1:" & "L1").Select
myexcel.Selection.HorizontalAlignment = xlCenter
myexcel.Selection.Font.Name = "隶书"
myexcel.Selection.Font.Size = 16
myexcel.Selection.Merge
myexcel.ActiveCell.FormulaR1C1 = "维修单列表" & "-" & DLDT1

'添加excel列头~~~~~~~~~~~~~~~~~~~~~~~
' mysheet.Cells(1, 1) = "维修单列表" & "-" & DLD

EXCEL必须在代码中有关闭语句,不然不会执行的。在数据库中导入也是一样的

以前我也遇到过类是的问题,后来总结了一下规律,对EXCEL单元格的格式操作最好少作,否则极有可能会导致excel无法正常退出,以前查过原因,但忘了,好像是和内存模块有什么关系,所以建议采用将单元格预先定义好的一个空表格文件,使用时复制成你需要的新文件,再进行单元格赋值操作,代码如下:
Dim strSource, strDestination As String
strSource = App.Path & "\table.xls"
strDestination = App.Path & "\temp.xls" '你新表格的路径
FileCopy strSource, strDestination '复制文件
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlbook = xlApp.Workbooks.Open(strDestination)
Set xlsheet = xlbook.Worksheets(1)
xlbook.Save
xlbook.Close
xlApp.Quit

另外,合并单元格是可以做的,with快是我一用就和你一样了,不清楚是怎么回事!

这么长的代码 50分懒得看哦 少说也得150分起价吧

这么长的代码 50以前我也遇到过类是的问题,后来总结了一下规律,对EXCEL单元格的格式操作最好少作,否则极有可能会导致excel无法正常退出,以前查过原因,但忘了,好像是和内存模块有什么关系,所以建议采用将单元格预先定义好的一个空表格文件,使用时复制成你需要的新文件,再进行单元格赋值操作,代码如下:
Dim strSource, strDestination As String
strS