Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
G'day there again People,
I was just reading a thread here about modal/modeless forms. I'm using Excel 2000, with a modal form that's not performing quite the way I thought it would. I have the following code in the ThisWorkBook object: Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Saved = False Then Load exitFrm exitFrm.Show Me.Save exitFrm.Hide Unload exitFrm End If End Sub exitFrm is a userform with no buttons, but says "Saving data... please wait". It's very pretty with white letters on a red background =). When used modally, as expected, I have to close the form before the Me.Save part works. However if I set modal to false, there is only a blank userform shown. I have a title bar, a thick line around the form and more white space than is healthy. I've tried, without success, to install various counters in different nooks and crannies to see if it just needed some thinking space to draw the text. Now I've run out of ideas and I'm hoping someone can see what I've done wrong. Thanks once more Ken McLennan Qld, Australia |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm not sure what caused it (windows or excel), but in win98/excel2002, I could
do this: Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Saved = False Then Load exitfrm exitfrm.Show False DoEvents 'exitfrm.Repaint Me.Save exitfrm.Hide Unload exitfrm End If End Sub Both the DoEvents and .repaint made the userform appear ok. Ken McLennan wrote: G'day there again People, I was just reading a thread here about modal/modeless forms. I'm using Excel 2000, with a modal form that's not performing quite the way I thought it would. I have the following code in the ThisWorkBook object: Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Saved = False Then Load exitFrm exitFrm.Show Me.Save exitFrm.Hide Unload exitFrm End If End Sub exitFrm is a userform with no buttons, but says "Saving data... please wait". It's very pretty with white letters on a red background =). When used modally, as expected, I have to close the form before the Me.Save part works. However if I set modal to false, there is only a blank userform shown. I have a title bar, a thick line around the form and more white space than is healthy. I've tried, without success, to install various counters in different nooks and crannies to see if it just needed some thinking space to draw the text. Now I've run out of ideas and I'm hoping someone can see what I've done wrong. Thanks once more Ken McLennan Qld, Australia -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
G'day there Dave,
I'm not sure what caused it (windows or excel), but in win98/excel2002, I could do this: It's a mystery to me, too. -----[SNIP]----- Both the DoEvents and .repaint made the userform appear ok. Yes, you're quite correct. That made it run just as I wanted it to. Thanks very much for that. I'd tried DoEvents with both modal and non modal settings for the form, but I'd not thought of the .repaint bit. That seems to have done the trick. Of course, now that I've got that part correct (or perhaps, now that YOU'VE got that part correct for me) it's running through that section of code whether the workbook has been saved or not. I've only just had time to try your code and confirm it. I've not yet tried to see why it runs all the time, but I hope to check that out tonight. Even if I can't fix it, I've no real problem with it running everytime anyway. Thanks very much for taking the time to help. It's saved me hours of confusion =). See ya Ken McLennan Qld, Australia |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Userform modal | Excel Discussion (Misc queries) | |||
Mode - getting bi- and multi-modal results?? | Excel Worksheet Functions | |||
Forms that are modal in 97 are not modal in 2003 | Excel Discussion (Misc queries) | |||
Accessing selected cell from modal dialog | Excel Programming | |||
Modal User Form | Excel Programming |