注册 登录
编程论坛 VB6论坛

保存卡死

CSNSZX 发布于 2023-01-29 16:14, 1482 次点击
为何使用VB保存显示“正在保存”并卡死,直接点击EXCEL自带的“保存”摁钮就没问题。求大神赐教解决方法,感谢!!
9 回复
#2
mrexcel2023-01-29 21:51
代码贴上来瞅瞅
#3
CSNSZX2023-01-30 07:25
一开始运行是正常的,随着运行次数增多,就会慢慢出现这个问题,到最后一到代码“save”,就出现“正在保存”。。所以迷茫这是电脑配置不行,还是代码哪里出了问题?
#4
mrexcel2023-02-01 22:47
代码贴上来瞅瞅
#5
yuma2023-02-03 12:25
你是不是没有关闭文件。
#6
阳光上的桥2023-02-03 12:49
提示“正在保存”后卡住,可能是文件较大,一般多等一会,特别是在EXCEL版本较低(例如2003及以前版本)的时候。

也可能是剪贴板非空的时候做了插入行、或者列的操作,使得系统认为那些表格使用100多万的数据,系统会保存很久。检测方法是在每个表里面按CTRL+END移动到使用区域末尾,或者直接看滚动条的大小。
#7
CSNSZX2023-02-17 10:10
代码计算的数据量很大,这里有些问题:
1,刚开始运行代码时,是正常的,卡死是在运行的次数增多以后出现,如果是代码的问题,不是最初运行时就会出现吗?
2,保存应该是发生在关闭文件前吧?
3,代码比较繁琐,不知各位大神是否有同意加下私信的,我发过去帮诊断下,感谢。
#8
冬瓜汤2023-02-18 20:21
用事件监测一下,是哪里出问题。
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
If Success Then
    MsgBox ("The workbook was successfully saved.")
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel as Boolean)
    If Me.Saved = False Then Me.Save '注意转成 vb6的写法
End Sub

'留意一下 任务管理器,是不是有多个excel进程。
'因为excel文件还在保存中,但代码 却 已经执行到 调用 excelApp.quit()但事实上 excel.application是无法退出
'但 下一个循环,又 New一个excelApp,进程中变成 很多个excel.application,最终会卡死。

[此贴子已经被作者于2023-2-18 20:28编辑过]

#9
CSNSZX2023-03-02 14:31
回复 7楼 CSNSZX
“因为excel文件还在保存中,但代码 却 已经执行到 调用 excelApp.quit()但事实上 excel.application是无法退出
'但 下一个循环,又 New一个excelApp,进程中变成 很多个excel.application,最终会卡死。”

应该这个问题,请教怎么解决。
#10
阳光上的桥2023-03-02 14:52
程序逻辑建议调整,不要开多个Excel进程(Application实例),可以一个进程打开多个文件。
1