vb 如何关闭所有打开的EXCEL文件

如题所述

alt+ctrl+delete→单击“进程”选项卡→点击“excel.exe”→结束进程,全部关闭!但好像不能提示你是不是要保存,要注意了追问

我要的是VB代码,关闭进程是不会保存文件的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-27
'把这个写在模块里,要关闭什么就调用propath("程序名.exe"),
'如关闭excel就propath("EXCEL.EXE")
Public Function propath(proname As String) As String
Dim objWMIService As Object
Dim colProcesslist As Object
Dim objProcess As Object
Set objWMIService = CreateObject("winmgmts:{impersonationLevel=Impersonate}!root\cimv2")
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name=" & Chr(39) & proname & Chr(39))
For Each objProcess In colProcesslist
propath = objProcess.ExecutablePath
objProcess.Terminate '关闭程序
Next
End Function追问

需要引用什么库啊,我这报错了"无法创建ActiveX组件"

追答

我一直在用的模块,没问题的。你确定没复制错误?

第2个回答  2011-09-27
窗体上放一TIMER,它的INTERVAL属性设置为10
Private Declare Function FindWindow% Lib "user32" Alias "FindWindowA" (ByVal lpclassname As Any, ByVal lpCaption As Any)
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060

Private Sub Timer1_Timer()
Dim hwnd%
hwnd% = FindWindow%("XLMAIN", 0&)
X& = SendMessage(hwnd%, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub追问

这 么麻烦,有没有简单的方法

追答

没有

追问

没做出来,有点看不懂

追答

留个QQ我发给你

追问

302791539

本回答被提问者采纳
相似回答