Hi Kathryn:
Ok... here goes...
1. Place table on your template. For this example, place a 2 row, 2 column
template.
2. Click on View→ Toolbars→ check on the “Forms†toolbar
3. Click on the “ab†icon repeatedly to add in a Text Form Field inside each
of the 4 table cells. Leave the right sided padlock in the “unlocked†or flat
position.
4. Click on View-> Toolbars-> check on the "Visual Basic" toolbar
5. Now click on the Visual Basic icon to go to the VB environment.
6. Once there, click on Tools-> References and make sure that you have some
of the ones you'll most likely need (to avoid errors)-
• Visual Basic for Applications
• Microsoft Word 11.0 Object Library
• OLE Automation
• Microsoft Office 11.0 Object Library
• Microsoft DAO 3.6 Object Library
• Microsoft Visual Basic for Applications Extensibility 5.3
Some other ones that I occasionally use depending on what I"m programming-
• Microsoft ActiveX Data Objects 2.8 Library
• Microsoft Jet and Replication Objects 2.6 Library
• Microsoft Calendar Control 11.0
• Microsoft Forms 2.0 Object Library
(Depending on your Word version, the version number could change, s.a.
Microsoft Office 9.0 for Word 2000)
7. Now click on View→ Project Explorer
8. Right click on your project name, then select Insert→ Module
9. Rename the module “AutoMacros†and add the following Sub routines-
Sub addrow()
Dim rownum As Integer, i As Integer
response = MsgBox("Add new row?", vbQuestion + vbYesNo)
If response = vbYes Then
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 - 1).Range.FormFields(1).EntryMacro =
"addinfo"
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 If
End Sub
10. Save your work.
11. Now get out of the Visual Basic platform and go back to your table.
Right click on both of the RIGHT sided Text Form Fields, then Properties→
“Run macro onâ€â†’ then in the “Exit†combobox choose your new subroutine
(“addrowâ€).
Finished! Now lock your form (i.e. click on/indent the padlock) and try
landing, then exiting on one of the activated fields. Should work. Cool huh?
That’s programming…
Cheers,
Al