Board logo

標題: [發問] 如何用VBA關閉外部程式 [打印本頁]

作者: blue2263    時間: 2018-8-14 22:10     標題: 如何用VBA關閉外部程式

請教大大
如何用VBA關閉外部程式

煩請大大協助解答,謝謝!!
作者: blue2263    時間: 2018-8-14 22:32

下列網址有說方法,我開啟外部軟體沒問題,但關閉外部軟體,一直用不出來,請教大大如何修改

https://tw.answers.yahoo.com/question/index?qid=20070807000016KK08276

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Public Const WM_CLOSE = &H10

2.在Form上拉兩個按鍵,並COPY下面程式
Private Sub Command1_Click()
Rem 開啟小算盤按鈕
Shell "C:\WINNT\system32\calc.exe" '程式的路徑
End Sub
Private Sub Command2_Click()
Rem 關閉小算盤按鈕
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "小算盤") '欲關閉的程式的名稱
Debug.Print winHwnd
If winHwnd <> 0 Then
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If RetVal = 0 Then
MsgBox "Error posting message."
End If
Else
MsgBox "並未開啟小算盤程式."
End If
End Sub
作者: mark15jill    時間: 2018-8-16 11:52

下列網址有說方法,我開啟外部軟體沒問題,但關閉外部軟體,一直用不出來,請教大大如何修改

https://tw.ans ...
blue2263 發表於 2018-8-14 22:32



    看不懂實際用意。
    如果只是單純要運算數值,EXCEL就可以。
作者: blue2263    時間: 2018-8-16 21:26

回復 3# mark15jill

M大您好
我平時有用EXCEL計記錄,看盤軟體的DDE訊息,有時看盤軟體會出現錯誤
我想出現錯誤時,重啟看盤軟體,所以我的重點是如何關閉外部程式,不是關閉小算盤

ps:我是想小算盤可以關閉成功,依理應用到其它軟體應該也可行
ps:我想關閉重啟的程式是 康和.全都賺軟體
作者: quickfixer    時間: 2018-8-17 01:48

本帖最後由 quickfixer 於 2018-8-17 01:50 編輯

試看看


Sub stopApp()
   
    Dim app As String
    Dim objWMI As Object, objProcess As Object, objList As Object
    Dim intError As Integer



    app = "calc.exe" '這裡填入要關閉的執行檔名稱


    Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set objList = objWMI.ExecQuery("select * from win32_process where name='" & app & "'")
   
    For Each objProcess In objList
        intError = objProcess.Terminate
        If intError <> 0 Then Exit For
    Next

    Set objWMI = Nothing
    Set objList = Nothing
    Set objProcess = Nothing

End Sub
作者: blue2263    時間: 2018-8-18 07:21

回復 5# quickfixer


    感謝Q大協助,己經解決我的問題了,謝謝!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)