2014-11-21 92 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