Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm using code like this to update the progress bar in excel:
Private Declare Function FindWindow& Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$) Private Declare Function CreateWindowEX& Lib "user32" Alias _ "CreateWindowExA" (ByVal dwExStyle&, ByVal lpClassName$ _ , ByVal lpWindowName$, ByVal dwStyle&, ByVal x&, ByVal y& _ , ByVal nWidth&, ByVal nHeight&, ByVal hWndParent& _ , ByVal hMenu&, ByVal hInstance&, lpParam As Any) Private Declare Function DestroyWindow& Lib "user32" (ByVal hWnd&) Private Declare Function SendMessage& Lib "user32" Alias _ "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) Private Declare Function GetClientRect& Lib "user32" _ (ByVal hWnd&, lpRect As RECT) Private Declare Function FindWindowEx& Lib "user32" Alias _ "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$) Private Type RECT cl As Long ct As Long cr As Long cb As Long End Type Sub PBarDraw() Dim BarState As Boolean Dim hWnd&, pbhWnd&, y&, h&, i&, R As RECT hWnd = FindWindow(vbNullString, Application.Caption) hWnd = FindWindowEx(hWnd, ByVal 0&, "EXCEL4", vbNullString) GetClientRect hWnd, R h = (R.cb - R.ct) - 6: y = R.ct + 3 pbhWnd = CreateWindowEX(0, "msctls_progress32", "" _ , &H50000000, 35, y, 185, h, hWnd, 0&, 0&, 0&) SendMessage pbhWnd, &H409, 0, ByVal RGB(0, 0, 125) BarState = Application.DisplayStatusBar Application.DisplayStatusBar = True For i = 1 To 50000 DoEvents Application.StatusBar = Format(i / 50000, "0%") SendMessage pbhWnd, &H402, Val(Application.StatusBar), 0 Next i DestroyWindow pbhWnd Application.StatusBar = False Application.DisplayStatusBar = BarState End Sub My problem is this: If the code crashes and and does not destroy the pbhWnd, the progress bar stays dispalyed as is till I restart excel. Is there anyway to relocate the window (since its created on the fly) and destroy it in a seperate set of code that I could run anytime it gets hung? Thanks in advance, John |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Crashing!!! | Excel Programming | |||
NEED Help - How to capture the Event's progress in Progress Bar | Excel Programming | |||
Why Is This Crashing | Excel Programming | |||
Is this crashing for you ? | Excel Programming | |||
vba crashing | Excel Programming |