Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.tables
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Tables in Word - Adding rows to forms

Your code is missing

Else ' User chose No.
Exit Sub
End If


--
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, originally posted via msnews.microsoft.com
"Worsty" wrote in message
...
Doug:

I got this code to work, but the problem is now that I need some way to
NOT
keep adding rows. I tried to add the "Yes" No" functionality, but that is
when I get the error. Any help would be appreciated:

Dim rownum As Long, i As Long, j As Long
Dim oRng As Word.Range
Dim pListArray() As String
Dim pType As String
Dim myField As FormField
Dim oTbl As Table
Dim Response

'Response = MsgBox("Do you need to add another row to the table?", _
'vbYesNo + vbQuestion + vbDefaultButton2, "Add another Row")
'If Response = vbYes Then
Set oTbl = Selection.Tables(1)
ActiveDocument.Unprotect
oTbl.Rows.Add
rownum = oTbl.Rows.Count
For i = 1 To oTbl.Columns.Count
Set oRng = oTbl.Cell(rownum, i).Range
oRng.Collapse wdCollapseStart
pType = oTbl.Cell(rownum - 1, i).Range.FormFields(1).Type
Select Case pType
Case 83 'Constant for a dropdown
Set myField = ActiveDocument.FormFields.Add(Range:=oRng, _
Type:=wdFieldFormDropDown)
For j = 1 To oTbl.Cell(rownum - 1,
i).Range.FormFields(1).DropDown.ListEntries.Count
ReDim Preserve pListArray(j)
pListArray(j) = oTbl.Cell(rownum - 1,
i).Range.FormFields(1).DropDown.ListEntries(j).Nam e
Next j
For j = 1 To UBound(pListArray)
myField.DropDown.ListEntries.Add pListArray(j)
Next j
Case 70 'Constant for a textfield
ActiveDocument.FormFields.Add Range:=oRng, _
Type:=wdFieldFormTextInput
Case 71 'Constant for a checkbox
ActiveDocument.FormFields.Add Range:=oRng, _
Type:=wdFieldFormCheckBox
End Select
Next i
oTbl.Cell(oTbl.Rows.Count,
oTbl.Columns.Count).Range.FormFields(1).ExitMacro
= "Gregaddrows"
oTbl.Cell(oTbl.Rows.Count, 1).Range.FormFields(1).Select

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

"Doug Robbins - Word MVP" wrote:

Do you have any merged cells in your table?

--
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, originally posted via msnews.microsoft.com
"Worsty" wrote in message
...
Ross:

That is what I have in my code and it is in all one line. I don't get
a
compile error I get a "bad parameter"

thanks,

"Ross" wrote:

The line should read
.Cell(.Rows.Count, .Columns.Count).Range.FormFields(1).ExitMacro =
"addrow3"

This editor raps around some times.

"Worsty" wrote:

Ross:

When I use this code I get a "Bad parameter" error message on the
following
line:

.Cell(.Rows.Count, .Columns.Count).Range.FormFields(1).ExitMacro =
"addrow3"

It adds the row but because it doesn't exit the macro it won't add
any
additional lines.

Please help! Thanks,

"Ross" wrote:

I figured this out by playing around a bit. The below code will
create a new
row in a table with the same field types. So if the table contain
text, drop
down or check boxs does not matter. It also brings in all the
selection
options from the drop down and set it to the first item in the
drop
down.

Sub addrow3()
' Macro created 04/07/03 by Ross Vanevenhoven
' To add a new row to a table containing text, Drop Down or Check
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
response = MsgBox("Do you need another row?", 36, "Add Row")
If response = vbYes Then
ActiveDocument.Unprotect
With Selection.Tables(1)
FormFieldsCount = .Range.FormFields.Count
.Rows.Add
rownum = .Rows.Count
For i = 1 To .Columns.Count
Select Case .Range.FormFields(i).Type
Case wdFieldFormTextInput
.Cell(rownum, i).Range.FormFields.Add
Range:=.Cell(rownum,
i).Range, Type:=wdFieldFormTextInput
Case wdFieldFormDropDown
.Cell(rownum - 1, i).Range.Copy
.Cell(rownum, i).Range.Paste
.Range.FormFields(FormFieldsCount +
i).DropDown.Value
= 1
Case wdFieldFormCheckBox
.Cell(rownum, i).Range.FormFields.Add
Range:=.Cell(rownum,
i).Range, Type:=wdFieldFormCheckBox
End Select
Next i
.Cell(.Rows.Count, 1).Range.FormFields(1).Select
.Cell(.Rows.Count,
.Columns.Count).Range.FormFields(1).ExitMacro =
"addrow3"
End With
ActiveDocument.Protect Type:=wdAllowOnlyFormFields,
NoReset:=True
End If
End Sub




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
Word 2007 tables - adding multiple rows rgille Microsoft Word Help 11 April 27th 23 08:57 AM
word and forms: updating a table by adding more rows oj Microsoft Word Help 1 July 9th 08 04:12 AM
Adding Shaded Rows between Rows Jsec Tables 3 May 24th 08 03:20 PM
'Tables'- 2 columns,4 rows. Can you merge one column into 3 rows? CalMac Captain Tables 1 May 19th 06 03:27 PM
Rows adding to Tables Alex Mackenzie Microsoft Word Help 2 January 26th 06 05:41 PM


All times are GMT +1. The time now is 08:36 AM.

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

About Us

"It's about Microsoft Word"