1. 首页 > 科技

为什么我的VBA 代码要保存,退出后才能正常运行?(Excel保存并退出VBA代码)

为什么我的VBA 代码要保存,退出后才能正常运行?(Excel保存并退出VBA代码)

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。