2014-11-21 78 views
-1

我做了一个按钮(不是一个activeX按钮),并分配了一个编码为杀死EXCEL.EXE任务的宏。激活时,它会给我一个错误消息,说它无法关闭。是否有可能通过excel杀死excel任务?试图通过Excel宏关闭Excel?

这是我的代码。我很积极,它的作品。

Dim oShell : Set oShell = CreateObject("WScript.Shell") 
intAnswer = _ 
MsgBox("Do you want to close Excel?", _ 
    vbYesNo, "Prompt") 

If intAnswer = vbYes Then 
    MsgBox "Excel will close." 

Else 
    MsgBox "Excel will remain open." 
End If 

oShell.Run "taskkill /im EXCEL.EXE", , True 
+3

出了什么问题'Application.Quit'? – 2014-11-21 15:04:32

+0

@SO我怎么用呢? – Rocketboy721 2014-11-21 15:12:16

+0

@ Rocketboy721从excel外部使用taskkill,而在excel里面使用'Application.Quit'作为S O建议)。无论如何,ActiveX按钮并不是那么糟! – ZAT 2014-11-21 15:55:08

回答

1

使用Application.Quit方法:

intAnswer = _ 
MsgBox("Do you want to close Excel?", _ 
    vbYesNo, "Prompt") 

If intAnswer = vbYes Then 
    MsgBox "Excel will close." 
    Application.Quit 

Else 
    MsgBox "Excel will remain open." 
End If 

考虑,如果你想关闭应用程序前,保存工作中使用以及

ThisWorkbook.Save 

。你可以找到更多关于应用程序对象here的信息。

+0

非常感谢你 – Rocketboy721 2014-11-25 14:33:23

+0

@ Rocketboy721如果有效的话,不要忘记接受答案,以便其他有相同问题的用户知道在哪里看;) – 2014-11-25 14:40:30

1

也许尝试添加此前面:

Application.DisplayAlerts=False 
ThisWorkbook.Save