Freeze row height then put button to view entire cell

  • Thread starter Graham Smith 450-458-0101
  • Start date
G

Graham Smith 450-458-0101

I am creating a script/questionaire that will be used by different people. I
would like to create a form Word Table where I could enter a question in one
cell then wrap the text in the answer cell, allow the person who is writing
the answer to use as man lines as they want but freeze the height of the
answer cell (to 3 lines) - THEN put a 'button' on/near the answer cell that
would allow someone viewing the completed questionaire to choose wether they
want to view the entire answer.... phew. I've got everything done (thanks to
the forum) except for the 'putting the button on/near the cell to view the
entire contents' part. I know I can just select the cell and go to row -
auto fit but is there another way.
Thanks

(e-mail address removed)
 
C

Cooz

Hi Graham,

Yes, there is.
Place the following macro in your document:

Sub ViewAnswer()
Selection.Rows(1).HeightRule = wdRowHeightAuto
End Sub

You can do this by recording any macro in your document, choose Tools |
Macro > Macro's - edit the macro and replace with the one above.

Add a column to your table. In every cell of this column, place the
following field:
{ MACROBUTTON ViewAnswer Doubleclick to view answer }
Be sure to insert the { } by pressing Ctrl-F9. Type the rest.

Whenever a user docubleclicks the Macrobutton field, the current row height
is set to auto fit.

Good luck,
Cooz
 
G

Graham Smith 450-458-0101

Thanks. I'll try your suggestion. One question: What's a macro? (just joking)
 
G

Greg

Cooz,

Seems to me that a toggle would be more appropriate:

Sub ViewAnswerToggle()
If Selection.Rows(1).HeightRule = wdRowHeightExactly Then
Selection.Rows(1).HeightRule = wdRowHeightAuto
Else
With Selection.Rows(1)
.HeightRule = wdRowHeightExactly
.Height = "42"
End With
End If
End Sub
 
G

Greg

Just a bell and whistle, but you could also toggle the macrobutton text
between show and hide:

Sub ViewAnswerToggle()
With Selection.Rows(1)
If .HeightRule = wdRowHeightExactly Then
.HeightRule = wdRowHeightAuto
.Range.Fields(1).Code.Text = "MACROBUTTON ViewAnswerToggle
""Hide"""
Else
.HeightRule = wdRowHeightExactly
.Height = "42"
.Range.Fields(1).Code.Text = "MACROBUTTON ViewAnsWerToggle
""Show"""
End If
End With
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top