返回列表 上一主題 發帖

[發問] 如何用VBA關閉外部程式

[發問] 如何用VBA關閉外部程式

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

煩請大大協助解答,謝謝!!

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

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

TOP

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

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



    看不懂實際用意。
    如果只是單純要運算數值,EXCEL就可以。

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 3# mark15jill

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

ps:我是想小算盤可以關閉成功,依理應用到其它軟體應該也可行
ps:我想關閉重啟的程式是 康和.全都賺軟體

TOP

本帖最後由 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

TOP

回復 5# quickfixer


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

TOP

        靜思自在 : 不要隨心所欲,要隨心教育自己。
返回列表 上一主題