Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.tables
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite like
this.

Can anyone help me out with some code?

Thanks so much!

  #2   Report Post  
Posted to microsoft.public.word.tables
Doug Robbins - Word MVP
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

You could run a macro on exit from Field 10 and gets the .Result of that
formfield and depending upon it's length, set the font in Row 27 of table 3
as hidden. I am not sure where the other row of text enters into this.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
ups.com...
I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite like
this.

Can anyone help me out with some code?

Thanks so much!



  #4   Report Post  
Posted to microsoft.public.word.tables
Doug Robbins - Word MVP
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

You will have to include

ActiveDocument.Unprotect

and then later

ActiveDocument.Protect wdAllowOnlyFormFields, NoReset

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
oups.com...

wrote:
I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite like
this.

Can anyone help me out with some code?

Thanks so much!


Oh and by the way, the form is protected. As I'm working through
trying to create this code it keeps giving me an error saying that the
section I have in the code is protected.

I really need some help on this.....anybody have any suggestions



  #5   Report Post  
Posted to microsoft.public.word.tables
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

Doug:

Ok here is my code so far. What I'm trying to do is: if the zip code
form field is more than 5 digits (which is so for Canada) then hide
rows 22, 23 and 29 but if it is a USA zip code 5 digits, then show rows
22,23 and 29 and hide row 21.

Can you help me out as my code isn't working. Thanks a bunch!

Public Sub CanadaZipCode()

If ActiveDocument.FormFields("zipcode").Result = 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = False
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset
Else
If ActiveDocument.FormFields("zipcode").Result 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = True
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset



End If
End If

End Sub


Doug Robbins - Word MVP wrote:
You will have to include

ActiveDocument.Unprotect

and then later

ActiveDocument.Protect wdAllowOnlyFormFields, NoReset

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
oups.com...

wrote:
I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite like
this.

Can anyone help me out with some code?

Thanks so much!


Oh and by the way, the form is protected. As I'm working through
trying to create this code it keeps giving me an error saying that the
section I have in the code is protected.

I really need some help on this.....anybody have any suggestions




  #6   Report Post  
Posted to microsoft.public.word.tables
Doug Robbins - Word MVP
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

ActiveDocument.FormFields("zipcode").Result = 5 is not going to work.

Len(ActiveDocument.FormFields("zipcode").Result ) = 5

will probably work as it will give you the length of the result.

It may however be better to use the IsNumeric() function as US Zip Codes are
numeric whereas Canadian ones are alpha-numeric.

Even in that case however, probably better to use

IsNumeric(Left(ActiveDocument.FormFields("zipcode" ).Result, 5)

as that will pickup 9 digit US Zip Codes (#####-####) which IsNumeric() by
itself may miss.
--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
s.com...
Doug:

Ok here is my code so far. What I'm trying to do is: if the zip code
form field is more than 5 digits (which is so for Canada) then hide
rows 22, 23 and 29 but if it is a USA zip code 5 digits, then show rows
22,23 and 29 and hide row 21.

Can you help me out as my code isn't working. Thanks a bunch!

Public Sub CanadaZipCode()

If ActiveDocument.FormFields("zipcode").Result = 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = False
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset
Else
If ActiveDocument.FormFields("zipcode").Result 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = True
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset



End If
End If

End Sub


Doug Robbins - Word MVP wrote:
You will have to include

ActiveDocument.Unprotect

and then later

ActiveDocument.Protect wdAllowOnlyFormFields, NoReset

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
oups.com...

wrote:
I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite
like
this.

Can anyone help me out with some code?

Thanks so much!

Oh and by the way, the form is protected. As I'm working through
trying to create this code it keeps giving me an error saying that the
section I have in the code is protected.

I really need some help on this.....anybody have any suggestions




  #7   Report Post  
Posted to microsoft.public.word.tables
 
Posts: n/a
Default Hide a row in a table based upon a previous selection

Doug:

Thanks so much. The form is working beautifully now!

Debbie


Doug Robbins - Word MVP wrote:
ActiveDocument.FormFields("zipcode").Result = 5 is not going to work.

Len(ActiveDocument.FormFields("zipcode").Result ) = 5

will probably work as it will give you the length of the result.

It may however be better to use the IsNumeric() function as US Zip Codes are
numeric whereas Canadian ones are alpha-numeric.

Even in that case however, probably better to use

IsNumeric(Left(ActiveDocument.FormFields("zipcode" ).Result, 5)

as that will pickup 9 digit US Zip Codes (#####-####) which IsNumeric() by
itself may miss.
--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
s.com...
Doug:

Ok here is my code so far. What I'm trying to do is: if the zip code
form field is more than 5 digits (which is so for Canada) then hide
rows 22, 23 and 29 but if it is a USA zip code 5 digits, then show rows
22,23 and 29 and hide row 21.

Can you help me out as my code isn't working. Thanks a bunch!

Public Sub CanadaZipCode()

If ActiveDocument.FormFields("zipcode").Result = 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = False
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset
Else
If ActiveDocument.FormFields("zipcode").Result 5 Then
ActiveDocument.Unprotect
ActiveDocument.Tables(3).Rows(21).Range.Font.Hidde n = False
ActiveDocument.Tables(3).Rows(22).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(23).Range.Font.Hidde n = True
ActiveDocument.Tables(3).Rows(29).Range.Font.Hidde n = True
ActiveDocument.Protect wdAllowOnlyFormFields, NoReset



End If
End If

End Sub


Doug Robbins - Word MVP wrote:
You will have to include

ActiveDocument.Unprotect

and then later

ActiveDocument.Protect wdAllowOnlyFormFields, NoReset

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

wrote in message
oups.com...

wrote:
I have a Word 2003 form. There are multiple tables on the form. What
I want to do is to hide a selection of text in table #3, Row 27 if a
selection in Table 1, row 1, field10 is greater than 5 characters and
show another row of text.

I've looked through the postings and have not found anything quite
like
this.

Can anyone help me out with some code?

Thanks so much!

Oh and by the way, the form is protected. As I'm working through
trying to create this code it keeps giving me an error saying that the
section I have in the code is protected.

I really need some help on this.....anybody have any suggestions



Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Table in a Form HiDbLevel Tables 12 February 27th 06 12:59 PM
My custom styles are acquiring unwanted attributes Frustrated Frame User Microsoft Word Help 10 April 21st 05 09:38 AM
How to Avoid Word 2003 Table Style Problems Judy Haynes Tables 0 March 23rd 05 06:41 PM
Table AutoFormats vs. Table Styles confusion Tony Jollans Tables 5 March 6th 05 07:18 PM
Row height problem with table in table Stephanie T. Tables 0 November 23rd 04 03:35 PM


All times are GMT +1. The time now is 08:13 PM.

Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Copyright 2004-2023 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"