所以我正在試驗關閉窗口/應用程序在我寫的VBA宏。許多帖子在網上建議從Windows API使用FindWindow
。Excel 2010 VBA宏關閉特定的記事本窗口。 (findwindow給出不匹配類型的錯誤??)
我開始慢,我試圖從我的宏關閉記事本窗口。 (它是我想要的幾件事情之一,但它似乎是最簡單的),我找到了一個解決方案,我忘記了它發佈的地方,它簡短而又甜蜜。
Sub CheckNotepad()
Dim hwnd As Long
hwnd = FindWindow("Notepad", vbNullString)
If hwnd Then
MsgBox "Notepad is running, the window handle is " & hwnd
Else
MsgBox "Notepad is not running"
End If
End Sub
似乎很大,如何獲取記事本窗口句柄,並從那裏我能找到的代碼使用手柄來關閉窗口的開始。但它不適合我!
我發現的所有例子都使用了2個參數,其中一半使用vbNullString
作爲第二個參數,其中一些使用字符串作爲特定窗口的標題。但它對我來說都不起作用。
唯一可行的是爲第二個參數提供0(我假設這代替了vbNullString
),但是如果我嘗試使用vbnullstring
或實際字符串,則會出現類型不匹配錯誤。如果我嘗試使用任何其他數字,則Excel停止工作。 (可愛的「程序已停止工作」消息出現
因此,可以給我一些建議,爲什麼發生這種情況?我可以只使用0,但我猜我的用戶將有其他記事本窗口打開我希望能夠提供一個參數來查找特定的記事本窗口(它將成爲一個臨時窗口,在宏觀期間彈出,隨後關閉,因爲我不想讓它留給他們看)
在此先感謝
這就是爲什麼我總是從MSDN複製API參考。不能出錯(特別是錯字):-) ...很好,您的問題已解決。 –