Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
To ALl,
I have a USER FORM that works fine as a MODAL form ... Since it was developed on an Excel 97 platform. I understand and accept the limitation ... IF the Workbook is opened on Excel 2000 platform, however, I'd like to be able to Display the same form as Non-Modal ... Question: Can it be determined in VBA code, prior to the USER Form being loaded, that the current version of excel is capable of displaying a Non-Modal form? Thanks .... Jim P |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
Jim,
You could test the application version Sub show() If Val(Application.Version) = 9 Then ShowNonModal Else ShowModal End If End Sub Sub ShowNonModal() UserForm1.show 0 End Sub Sub ShowModal() UserForm1.show End Sub You have to be careful of compilation errors in XL97, so you might need to put the ShowNonModal proc in a separate module. I can't test as I don't have 97 handy. -- HTH RP (remove nothere from the email address if mailing direct) "JimP" wrote in message om... To ALl, I have a USER FORM that works fine as a MODAL form ... Since it was developed on an Excel 97 platform. I understand and accept the limitation ... IF the Workbook is opened on Excel 2000 platform, however, I'd like to be able to Display the same form as Non-Modal ... Question: Can it be determined in VBA code, prior to the USER Form being loaded, that the current version of excel is capable of displaying a Non-Modal form? Thanks .... Jim P |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
Bob,
Thanks for the PROMPT response ... I coded as you specified ... '''''''''''''''''''''' Private Sub NAVIGATIONButton_Click() Application.ScreenUpdating = True Load frmNAVIGATION If Val(Application.Version) = 9 Then ShowNonModal Else ShowModal End If End Sub Sub ShowModal() frmNAVIGATION.show 'Excel 97 End Sub Sub ShowNonModal() frmNAVIGATION.show 0 'Excel 2000 + End Sub '''''''''''''''''''''''''''''''''' WORKS PERFECT IN BOTH VERSIONS OF EXCEL ... THANKS a MILLION ... J.Pellechi *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
Bob is absolutely right and using the 0 rather than vbModeless statement
makes this work, but for safety's sake on this technique where you are differentiating between 97 and later versions you might want to add a conditional compilation clause around the non-modal statement. ie. Sub ShowNonModal() #If VBA6 Then frmNAVIGATION..Show vbModeless #End If End Sub Robin Hammond www.enhanceddatasystems.com "microsoft.public.excel.programming" wrote in message ... Bob, Thanks for the PROMPT response ... I coded as you specified ... '''''''''''''''''''''' Private Sub NAVIGATIONButton_Click() Application.ScreenUpdating = True Load frmNAVIGATION If Val(Application.Version) = 9 Then ShowNonModal Else ShowModal End If End Sub Sub ShowModal() frmNAVIGATION.show 'Excel 97 End Sub Sub ShowNonModal() frmNAVIGATION.show 0 'Excel 2000 + End Sub '''''''''''''''''''''''''''''''''' WORKS PERFECT IN BOTH VERSIONS OF EXCEL ... THANKS a MILLION ... J.Pellechi *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
Not correct. vbModeless works just as well. It would only be a problem as a
run time error as in XL97 the show would have too many arguments, but as the version test stops it taking this path there is no problem. -- HTH RP (remove nothere from the email address if mailing direct) "Robin Hammond" wrote in message ... Bob is absolutely right and using the 0 rather than vbModeless statement makes this work, but for safety's sake on this technique where you are differentiating between 97 and later versions you might want to add a conditional compilation clause around the non-modal statement. ie. Sub ShowNonModal() #If VBA6 Then frmNAVIGATION..Show vbModeless #End If End Sub Robin Hammond www.enhanceddatasystems.com "microsoft.public.excel.programming" wrote in message ... Bob, Thanks for the PROMPT response ... I coded as you specified ... '''''''''''''''''''''' Private Sub NAVIGATIONButton_Click() Application.ScreenUpdating = True Load frmNAVIGATION If Val(Application.Version) = 9 Then ShowNonModal Else ShowModal End If End Sub Sub ShowModal() frmNAVIGATION.show 'Excel 97 End Sub Sub ShowNonModal() frmNAVIGATION.show 0 'Excel 2000 + End Sub '''''''''''''''''''''''''''''''''' WORKS PERFECT IN BOTH VERSIONS OF EXCEL ... THANKS a MILLION ... J.Pellechi *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
MODAL vs. NonMODAL
In development, if regularly compiling the project in XL97, I find it's more
"convenient" to use the conditional construct with VBA6. Avoids the compile error and the necessity to add the Modeless routine only after compiling. Apart from this, both methods work fine. Regards, Peter "Bob Phillips" wrote in message ... Not correct. vbModeless works just as well. It would only be a problem as a run time error as in XL97 the show would have too many arguments, but as the version test stops it taking this path there is no problem. -- HTH RP (remove nothere from the email address if mailing direct) "Robin Hammond" wrote in message ... Bob is absolutely right and using the 0 rather than vbModeless statement makes this work, but for safety's sake on this technique where you are differentiating between 97 and later versions you might want to add a conditional compilation clause around the non-modal statement. ie. Sub ShowNonModal() #If VBA6 Then frmNAVIGATION..Show vbModeless #End If End Sub Robin Hammond www.enhanceddatasystems.com "microsoft.public.excel.programming" wrote in message ... Bob, Thanks for the PROMPT response ... I coded as you specified ... '''''''''''''''''''''' Private Sub NAVIGATIONButton_Click() Application.ScreenUpdating = True Load frmNAVIGATION If Val(Application.Version) = 9 Then ShowNonModal Else ShowModal End If End Sub Sub ShowModal() frmNAVIGATION.show 'Excel 97 End Sub Sub ShowNonModal() frmNAVIGATION.show 0 'Excel 2000 + End Sub '''''''''''''''''''''''''''''''''' WORKS PERFECT IN BOTH VERSIONS OF EXCEL ... THANKS a MILLION ... J.Pellechi *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Userform modal | Excel Discussion (Misc queries) | |||
Forms that are modal in 97 are not modal in 2003 | Excel Discussion (Misc queries) | |||
Non-Modal InputBox? | Excel Programming | |||
Modal oddity | Excel Programming | |||
Modal User Form | Excel Programming |