forked from VlaBst6/libs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodClearImmediateWindow.bas
More file actions
42 lines (33 loc) · 1.85 KB
/
modClearImmediateWindow.bas
File metadata and controls
42 lines (33 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Attribute VB_Name = "Module1"
Option Explicit
'jcis Argentina, Feb 15th, 2012, 12:24 AM
'http://www.vbforums.com/showthread.php?672465-RESOLVED-How-to-clear-Immediate-Window-in-IDE&p=4133187&viewfull=1#post4133187
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const WM_ACTIVATE As Long = &H6
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_CANCEL = &H3
Private Const VK_CONTROL = &H11
Sub ClearImmediateWindow()
Dim lWinVB As Long, lWinEmmediate As Long
lWinVB = FindWindow("wndclass_desked_gsk", vbNullString)
'Last param depends on languages, use your inmediate window caption:
lWinEmmediate = FindWindowEx(lWinVB, ByVal 0&, "VbaWindow", "Immediate")
PostMessage lWinEmmediate, WM_ACTIVATE, 1, 0&
keybd_event VK_CANCEL, 0, 0, 0 ' (This is Control-Break)
keybd_event VK_CONTROL, 0, 0, 0 'Select All
keybd_event vbKeyA, 0, 0, 0 'Select All
keybd_event vbKeyDelete, 0, 0, 0 'Clear
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyF5, 0, 0, 0 'Continue execution
keybd_event vbKeyF5, 0, KEYEVENTF_KEYUP, 0
End Sub