Can Word automatically create a new row in a table after data entr

J

joel

Hi all, I'm trying to create a form in Word.

Basically, I'd like to create a table that uses both text form fields and
drop down form fields. I'd like it so once you tab through the last entry
field in a row, a new row is automatically created which replicates the text
form and drop down form fields from the row above.

Also, can a row in a table be modified so that if a cell contains a certain
word, the whole row changes text color or is highlighted in some way?

Is this possible? Thanks in advance!
 
D

Doug Robbins - Word MVP

This will need some modification, but it does part of what you want to do:

Sub addrow()

'

' Macro created 02/02/03 by Doug Robbins

' To add a new row to a table containing formfields in every column

' automatically on exit from the last cell in the present last row of the
table

Dim rownum As Integer, i As Integer

ActiveDocument.Unprotect

ActiveDocument.Tables(1).Rows.Add

rownum = ActiveDocument.Tables(1).Rows.Count

For i = 1 To ActiveDocument.Tables(1).Columns.Count

ActiveDocument.FormFields.Add
Range:=ActiveDocument.Tables(1).Cell(rownum, i).Range,
Type:=wdFieldFormTextInput

Next i

ActiveDocument.Tables(1).Cell(ActiveDocument.Tables(1).Rows.Count,
ActiveDocument.Tables(1).Columns.Count).Range.FormFields(1).ExitMacro =
"addrow"

ActiveDocument.Tables(1).Cell(ActiveDocument.Tables(1).Rows.Count,
1).Range.FormFields(1).Select

ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True



End Sub

--
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
 
J

joel

Doug - First off, thank you very much for your help. I added the 'addrow'
macro to the Text Form Field Options of the last field in the row, and it
does indeed automatically create a new row with new text fields. It doesn't,
however, reproduce the drop-down field menu. Is there a way to do that as
well?

For example: The row has 5 columns, and 3 of those would be text fields and
two would be drop down fields. Can those drop-downs be reproduced
automatically in the new row?

(I should point out that I'm very ignorant of macros, so as lay as is gets
in layman's terms would be appropriate here)

Thanks again!
 
D

Doug Robbins - Word MVP

The following code will add Text FormFields to the first 3 cells and
DropDown FormFields to the cells 4 and 5. You will need to replace the
Item1 through Item5 and ItemA through ItemB with the actual items that you
want in the dropdowns:

Dim rownum As Integer, i As Integer
With ActiveDocument
.Unprotect
.Tables(1).Rows.Add
rownum = .Tables(1).Rows.Count
For i = 1 To 3
.FormFields.Add Range:=.Tables(1).Cell(rownum, i).Range,
Type:=wdFieldFormTextInput
Next i
.FormFields.Add Range:=.Tables(1).Cell(rownum, 4).Range,
Type:=wdFieldFormDropDown
With .Tables(1).Cell(rownum, 4).Range.FormFields(1).DropDown.ListEntries
.Add "Item1"
.Add "Item2"
.Add "Item3"
.Add "Item4"
.Add "Item5"
End With
.FormFields.Add Range:=.Tables(1).Cell(rownum, 5).Range,
Type:=wdFieldFormDropDown
With .Tables(1).Cell(rownum, 5).Range.FormFields(1).DropDown.ListEntries
.Add "ItemA"
.Add "ItemB"
.Add "ItemC"
.Add "ItemD"
.Add "ItemE"
End With
.Tables(1).Cell(rownum, 5).Range.FormFields(1).ExitMacro = "addrow"
.Tables(1).Cell(rownum, 1).Range.FormFields(1).Select
.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End With


--
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
 

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