为什么我的VBA 代码要保存,退出后才能正常运行?(Excel保存并退出VBA代码)
- Excel保存并退出VBA代码
- 我用VB做出的exe程序,为什么退出后仍然在后台运行?
- VBA,编写了一个不能保存excel的代码,结果excel不能保存了不假,连代码也保存不了了,悲剧。。
- 为什么我的VB程序一运行就会退出
Excel保存并退出VBA代码
workbooks("1.xls").save
workbooks("1.xls").close
或者,比如
activeworkbook.close 1
1表示保存
我用VB做出的exe程序,为什么退出后仍然在后台运行?
你可以用xueTr这样的工具看一下,你的exe程序运行时的线程有几个(正常的vb程序应该只有1个),如果有多个的话,可能是其他程序插入(如杀软)。你按下exe中程序退出按钮,在xueTr中刷新线程显示,看是否还有线程。(这是我猜测的,不一定是这个情况)
--------------------------------------------------------------------------------
解 决 方 案
不管怎样,你可以尝试不用END(当然也不是楼上说的UNLOAD),可以尝试API:
'TerminateProcess
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Sub EndProg()
TerminateProcess GetCurrentProcess, 0
End Sub
'以后不用End了,直接调用EndProg
'再问一句,在VB中end正常吗?
'如果用了这个API,VB调试可就不方便了,这个API会直接把VB给干掉的
VBA,编写了一个不能保存excel的代码,结果excel不能保存了不假,连代码也保存不了了,悲剧。。
用代码保存,新建一个模块,内容如下,要保存时就运行以下代码
Public isForSave As Boolean
Private Sub SaveBook()
isForSave = True
ThisWorkbook.Save
isForSave = False
End Sub
ThisWorkbook代码改为:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not SaveAsUI And Not isForSave Then
MsgBox "本工作簿不能保存,只能另存为!"
Cancel = True
End If
End Sub
为什么我的VB程序一运行就会退出
重装你的windows,然后重装vb。