If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
|
Thread Tools | Display Modes |
#11
|
|||
|
|||
How do I lock a table cell in Word?
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.Table s(1).Rows.Count, ActiveDocument.Tables(1).Columns.Count - 1).Range.FormFields(1).EntryMacro = "addinfo" ActiveDocument.Tables(1).Cell(ActiveDocument.Table s(1).Rows.Count, ActiveDocument.Tables(1).Columns.Count).Range.Form Fields(1).ExitMacro = "addrow" 'ActiveDocument.Tables(1).Cell(ActiveDocument.Tabl es(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 "Kathryn Pundt" wrote: Okay, I'll let you know how it goes. As for the "how to programmatically add new rows with textboxes " instructions, I don't know how to use user-programming. But, am very willing to learn if you have the time... "alborg" wrote: Hi Kathryn: Yup... that's it. You gotta "lock" (i.e. disable) the textbox controls, not the table. BTW, the idea on how to programmatically add new rows with textboxes was obtained from one of the most popular threads (check Show- Helpful threads) with the title "Subject: How to insert multiple rows in tables". It really is cool. The way I did it is the slightly improved version that works in Word 2000/2002/2003 since the textbox "name" method didn't work in the MS Word 2000 due to a Word bug. Cheers, AL "Kathryn Pundt" wrote: I'm am not sure I understand. This is what I understand you are trying to convey. Create a table. Insert textboxes into the table? Then, lock the texbox? "Kathryn Pundt" wrote: I am creating a template in Word using tables. I want to lock certain cells so no one can alter the contents. |
#12
|
|||
|
|||
How do I lock a table cell in Word?
Hi Kathryn:
One error- THIS: "Place table on your template. For this example, place a 2 row, 2 column template." SHOULD READ AS: "Place table on your template. For this example, place a 2 row, 2 column [table]." ALSO: I forgot to add the enabled line- "ActiveDocument.Tables(1).Columns.Count).Range.For mFields(1).Enabled = False" What you can do is to disable the prior row's FormFields- "ActiveDocument.Tables(1).Cell(ActiveDocument.Tabl es(1).Rows.Count-1, ActiveDocument.Tables(1).Columns.Count).Range.Form Fields(1).Enabled = False" [note the ...Rows.Count-1...] Cheers, Al "Kathryn Pundt" wrote: Okay, I'll let you know how it goes. As for the "how to programmatically add new rows with textboxes " instructions, I don't know how to use user-programming. But, am very willing to learn if you have the time... "alborg" wrote: Hi Kathryn: Yup... that's it. You gotta "lock" (i.e. disable) the textbox controls, not the table. BTW, the idea on how to programmatically add new rows with textboxes was obtained from one of the most popular threads (check Show- Helpful threads) with the title "Subject: How to insert multiple rows in tables". It really is cool. The way I did it is the slightly improved version that works in Word 2000/2002/2003 since the textbox "name" method didn't work in the MS Word 2000 due to a Word bug. Cheers, AL "Kathryn Pundt" wrote: I'm am not sure I understand. This is what I understand you are trying to convey. Create a table. Insert textboxes into the table? Then, lock the texbox? "Kathryn Pundt" wrote: I am creating a template in Word using tables. I want to lock certain cells so no one can alter the contents. |
#13
|
|||
|
|||
How do I lock a table cell in Word?
Hi =?Utf-8?B?S2F0aHJ5biBQdW5kdA==?=,
Word 2003 (11...) I am creating a template in Word using tables. I want to lock certain cells so no one can alter the contents. Word 2003 offers you the option of locking certain parts of the document, leaving others open for editing. The advantage of this approach over form fields (the other suggestion you're struggling with) is that the user can still use most formatting and other editing commands. When you do Tools/Protect Document you'll see the choice "No changes (Read only)" in the second part of the Protection task pane. You select the parts of the document you want to leave free, then click "Everyone" in the third section of the task pane. Cindy Meister INTER-Solutions, Switzerland http://homepage.swissonline.ch/cindymeister (last update Jun 17 2005) http://www.word.mvps.org This reply is posted in the Newsgroup; please post any follow question or reply in the newsgroup and not by e-mail :-) |
#14
|
|||
|
|||
How do I lock a table cell in Word?
Cindy has already told you how to use the controls in Word 2003. Note that
the result will be that the entire document will be locked in previous versions, so if any of the users are using Wor 2002 or earlier, this may not be satisfactory. If you want to pursue the idea of using form fields, see the forms tutorials linked from http://word.mvps.org/FAQs/Customizat...nTheBlanks.htm, which will explain how to use form fields (which are not ordinary text boxes but text form fields). -- Suzanne S. Barnhill Microsoft MVP (Word) Words into Type Fairhope, Alabama USA Word MVP FAQ site: http://word.mvps.org Email cannot be acknowledged; please post all follow-ups to the newsgroup so all may benefit. "Kathryn Pundt" Kathryn wrote in message news I am creating a template in Word using tables. I want to lock certain cells so no one can alter the contents. |
|
Thread Tools | |
Display Modes | |
|
|