Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Ed from AZ Ed from AZ is offline
external usenet poster
 
Posts: 91
Default Lock cell for text entry - allow field update only? Also, floatingcomment?

In Word 2007, I would like to lock a table cell against users entering
text. I have a field code there which references text from elsewhere
in the document. I want to prevent the users from "helping" me by
entering text and overwriting the field code. But however it's
locked, I need to allow the field to update.

Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?

Thanks.
Ed
  #2   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Lock cell for text entry - allow field update only? Also, floating comment?

I am not sure you can do this using the old-style fields. I think there is
/a/ way to achieve most of what you want in Word 2007 using content
controls, but I have not used it for real (so e.g. it may be much easier to
break than I think), and it's not a particularly straightforward way.

By way of example, let's suppose you use Insert-Quick Parts-Document
Property-Comments

to insert a plain text content control that inserts the built-in Comments
document property. (if you use the method suggested in this post, you will
eventually want to use your own Content Control rather than rely on the
built-in properties - for that, I suggest you visit Greg Maxey's page at
http://gregmaxey.mvps.org/Mapped_Content_Control.htm )

Insert another copy of that Comments document property content control. Then
type some text in the control and click outside the control. You should see
the content of the other copy update immediately. This is different from the
behaviour of old-style fields where the user typically had to do something
for e.g. the results of REF fields to be updated. e.g. they might have to
select everything and press F9, or go into print preview, or print, or save
and re-open. But the content control values are linked to a data store in
the .docx and when the dta changes, the control contents change.

OK, now let's imagine you have the following document structu

some text and other material including a copy of the Comments Content
Control.
a table
some more text and other stuff

In one cell in that table you want a cell whose content the users cannot
update.

First, just try inserting a copy of that Comments content control in that
cell. Then, in the Developer tab, click Design Mode, and you should see some
"tags" appear either side of the control. Now right-click the control and
select Properties. (You may have to make sure you are selecting exactly the
right thing for the Properties option to appear). Set "Title" to "You can't
touch this" and check "Content Control cannot be Deleted" and "Contents
Cannot be edited". These properties only affect this instance of the
control. Click Design Mode again and notice that
a. when you click the control in the table, you see "You can't touch this".
OK, so there's no floating tooltip.
b. you can't alter the content of the control in the table
c. you can't delete the control in the table
d. if you enter text in the other copy of the control and click outside the
control, the content in the table updates.

However, that's not quite enough, because if you click in the next cell,
then left arrow, you can still type text between the content control and the
end-of-cell marker.

To prevent that (this is the part I'm not too keen on), click
Developer-Protect Document-Restrict formatting and editing. In the task
pane, ensure "Allow only this type of editing in the document" is checked,
"No changes (Read only)" is selected. Obviously, that's not much use in a
document that's intended to be edited, but we can specify that every part of
the document except that cell is an exception. So...
a. select all of the document down to the table row above the cell that
contains the content control. Check Everyone.
b. in the row containing the content control, select the cells before that
cell, and check Everyone.
c. in the row containing the content control, select the cells after that
cell, and check Everyone.
d. select the cells in the row before the cell containing the content
control, and check Everyone.
e. select everything after that row and check Everyone.

Click "Yes, Start Enforcing Protection" and add whatever passwords you want.
For test purposes, you can leave this blank.

Notice that
a. the text in the unprotected area acquires a yellow background but
previews OK
b. you can edit most of the document in the usual way
c. although you can still click in the protected cell,
- you see "You can't touch this"
- you can't edit anything
d. if you modify the comment text in the control outside the table, the
copy in the table still updates. This is important, because if you put an
old-style REF field in the cell instead of a content control, modify the
bookmark text that it references, and try to update the REF field, it does
not change in the protected part of the document. So I think you /have/ to
use a content control to do this.

The last piece of this puzzle is how to modify the data that appears in that
cell. If the content control is mapped to a built-in property, you can
modify it any way that you could modify a built-in property before, e.g.
a. insert a field such as

{ COMMENTS "new comment text" }
or
{ INFO COMMENTS "new comment text" }

and update it. (This approach only works for some of the built-in
properties - title, author, comments, keywords and subject I think)
b. use VBA to modify the value of the built-in Comments property, e.g.

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties(wdPropert yComments) = "even newer
text"
End Sub

or

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties("Comments ") = "even newer text"
End Sub

If you use Greg Maxey's add-in or another approach to create your own
content control, you will probably need to update the value of the data in
the document's XML daa store to achieve the same thing. I think Greg's pages
provide enough info. to work out how to do that but post back if you can't
work it out.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Ed from AZ" wrote in message
...
In Word 2007, I would like to lock a table cell against users entering
text. I have a field code there which references text from elsewhere
in the document. I want to prevent the users from "helping" me by
entering text and overwriting the field code. But however it's
locked, I need to allow the field to update.

Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?

Thanks.
Ed


  #3   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Suzanne S. Barnhill Suzanne S. Barnhill is offline
external usenet poster
 
Posts: 33,624
Default Lock cell for text entry - allow field update only? Also, floating comment?

One note, Peter, wrt legacy forms. When you check the box for "Calculate on
exit" in the Form Field Options for a text or dropdown form field, a REF
field referring to that field *does* update automatically and immediately.
StyleRef fields also update immediately in any kind of document (and in
places in forms where you can't use REF fields, such as the header and
footer).

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

"Peter Jamieson" wrote in message
...
I am not sure you can do this using the old-style fields. I think there is
/a/ way to achieve most of what you want in Word 2007 using content
controls, but I have not used it for real (so e.g. it may be much easier to
break than I think), and it's not a particularly straightforward way.

By way of example, let's suppose you use Insert-Quick Parts-Document
Property-Comments

to insert a plain text content control that inserts the built-in Comments
document property. (if you use the method suggested in this post, you will
eventually want to use your own Content Control rather than rely on the
built-in properties - for that, I suggest you visit Greg Maxey's page at
http://gregmaxey.mvps.org/Mapped_Content_Control.htm )

Insert another copy of that Comments document property content control.
Then type some text in the control and click outside the control. You
should see the content of the other copy update immediately. This is
different from the behaviour of old-style fields where the user typically
had to do something for e.g. the results of REF fields to be updated. e.g.
they might have to select everything and press F9, or go into print
preview, or print, or save and re-open. But the content control values are
linked to a data store in the .docx and when the dta changes, the control
contents change.

OK, now let's imagine you have the following document structu

some text and other material including a copy of the Comments Content
Control.
a table
some more text and other stuff

In one cell in that table you want a cell whose content the users cannot
update.

First, just try inserting a copy of that Comments content control in that
cell. Then, in the Developer tab, click Design Mode, and you should see
some "tags" appear either side of the control. Now right-click the control
and select Properties. (You may have to make sure you are selecting
exactly the right thing for the Properties option to appear). Set "Title"
to "You can't touch this" and check "Content Control cannot be Deleted"
and "Contents Cannot be edited". These properties only affect this
instance of the control. Click Design Mode again and notice that
a. when you click the control in the table, you see "You can't touch
this". OK, so there's no floating tooltip.
b. you can't alter the content of the control in the table
c. you can't delete the control in the table
d. if you enter text in the other copy of the control and click outside
the control, the content in the table updates.

However, that's not quite enough, because if you click in the next cell,
then left arrow, you can still type text between the content control and
the end-of-cell marker.

To prevent that (this is the part I'm not too keen on), click
Developer-Protect Document-Restrict formatting and editing. In the task
pane, ensure "Allow only this type of editing in the document" is checked,
"No changes (Read only)" is selected. Obviously, that's not much use in a
document that's intended to be edited, but we can specify that every part
of the document except that cell is an exception. So...
a. select all of the document down to the table row above the cell that
contains the content control. Check Everyone.
b. in the row containing the content control, select the cells before that
cell, and check Everyone.
c. in the row containing the content control, select the cells after that
cell, and check Everyone.
d. select the cells in the row before the cell containing the content
control, and check Everyone.
e. select everything after that row and check Everyone.

Click "Yes, Start Enforcing Protection" and add whatever passwords you
want. For test purposes, you can leave this blank.

Notice that
a. the text in the unprotected area acquires a yellow background but
previews OK
b. you can edit most of the document in the usual way
c. although you can still click in the protected cell,
- you see "You can't touch this"
- you can't edit anything
d. if you modify the comment text in the control outside the table, the
copy in the table still updates. This is important, because if you put an
old-style REF field in the cell instead of a content control, modify the
bookmark text that it references, and try to update the REF field, it does
not change in the protected part of the document. So I think you /have/ to
use a content control to do this.

The last piece of this puzzle is how to modify the data that appears in
that cell. If the content control is mapped to a built-in property, you
can modify it any way that you could modify a built-in property before,
e.g.
a. insert a field such as

{ COMMENTS "new comment text" }
or
{ INFO COMMENTS "new comment text" }

and update it. (This approach only works for some of the built-in
properties - title, author, comments, keywords and subject I think)
b. use VBA to modify the value of the built-in Comments property, e.g.

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties(wdPropert yComments) = "even newer
text"
End Sub

or

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties("Comments ") = "even newer text"
End Sub

If you use Greg Maxey's add-in or another approach to create your own
content control, you will probably need to update the value of the data in
the document's XML daa store to achieve the same thing. I think Greg's
pages provide enough info. to work out how to do that but post back if you
can't work it out.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Ed from AZ" wrote in message
...
In Word 2007, I would like to lock a table cell against users entering
text. I have a field code there which references text from elsewhere
in the document. I want to prevent the users from "helping" me by
entering text and overwriting the field code. But however it's
locked, I need to allow the field to update.

Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?

Thanks.
Ed




  #4   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Lock cell for text entry - allow field update only? Also, floating comment?

Yes, both good points, although I think STYLEREF fields only update
automatically in headers and footers and not when they are in the body of
the document.

Incidentally, when I first looked at this problem, I wondered if it would be
possible to use legacy forms protection - if you could actually start a
continuous section break immediately before the cell you wanted to protect,
and another one immediately after, it would probably be feasible. But you
can only break before and after the row which means you can't do it unless
your cell is in a single-column table. That said, itmay be one of those
cases where there is a completely different approach that a different
description of the intent might elicit.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Suzanne S. Barnhill" wrote in message
...
One note, Peter, wrt legacy forms. When you check the box for "Calculate
on exit" in the Form Field Options for a text or dropdown form field, a
REF field referring to that field *does* update automatically and
immediately. StyleRef fields also update immediately in any kind of
document (and in places in forms where you can't use REF fields, such as
the header and footer).

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

"Peter Jamieson" wrote in message
...
I am not sure you can do this using the old-style fields. I think there is
/a/ way to achieve most of what you want in Word 2007 using content
controls, but I have not used it for real (so e.g. it may be much easier
to break than I think), and it's not a particularly straightforward way.

By way of example, let's suppose you use Insert-Quick Parts-Document
Property-Comments

to insert a plain text content control that inserts the built-in Comments
document property. (if you use the method suggested in this post, you
will eventually want to use your own Content Control rather than rely on
the built-in properties - for that, I suggest you visit Greg Maxey's page
at http://gregmaxey.mvps.org/Mapped_Content_Control.htm )

Insert another copy of that Comments document property content control.
Then type some text in the control and click outside the control. You
should see the content of the other copy update immediately. This is
different from the behaviour of old-style fields where the user typically
had to do something for e.g. the results of REF fields to be updated.
e.g. they might have to select everything and press F9, or go into print
preview, or print, or save and re-open. But the content control values
are linked to a data store in the .docx and when the dta changes, the
control contents change.

OK, now let's imagine you have the following document structu

some text and other material including a copy of the Comments Content
Control.
a table
some more text and other stuff

In one cell in that table you want a cell whose content the users cannot
update.

First, just try inserting a copy of that Comments content control in that
cell. Then, in the Developer tab, click Design Mode, and you should see
some "tags" appear either side of the control. Now right-click the
control and select Properties. (You may have to make sure you are
selecting exactly the right thing for the Properties option to appear).
Set "Title" to "You can't touch this" and check "Content Control cannot
be Deleted" and "Contents Cannot be edited". These properties only affect
this instance of the control. Click Design Mode again and notice that
a. when you click the control in the table, you see "You can't touch
this". OK, so there's no floating tooltip.
b. you can't alter the content of the control in the table
c. you can't delete the control in the table
d. if you enter text in the other copy of the control and click outside
the control, the content in the table updates.

However, that's not quite enough, because if you click in the next cell,
then left arrow, you can still type text between the content control and
the end-of-cell marker.

To prevent that (this is the part I'm not too keen on), click
Developer-Protect Document-Restrict formatting and editing. In the task
pane, ensure "Allow only this type of editing in the document" is
checked, "No changes (Read only)" is selected. Obviously, that's not much
use in a document that's intended to be edited, but we can specify that
every part of the document except that cell is an exception. So...
a. select all of the document down to the table row above the cell that
contains the content control. Check Everyone.
b. in the row containing the content control, select the cells before
that cell, and check Everyone.
c. in the row containing the content control, select the cells after that
cell, and check Everyone.
d. select the cells in the row before the cell containing the content
control, and check Everyone.
e. select everything after that row and check Everyone.

Click "Yes, Start Enforcing Protection" and add whatever passwords you
want. For test purposes, you can leave this blank.

Notice that
a. the text in the unprotected area acquires a yellow background but
previews OK
b. you can edit most of the document in the usual way
c. although you can still click in the protected cell,
- you see "You can't touch this"
- you can't edit anything
d. if you modify the comment text in the control outside the table, the
copy in the table still updates. This is important, because if you put an
old-style REF field in the cell instead of a content control, modify the
bookmark text that it references, and try to update the REF field, it
does not change in the protected part of the document. So I think you
/have/ to use a content control to do this.

The last piece of this puzzle is how to modify the data that appears in
that cell. If the content control is mapped to a built-in property, you
can modify it any way that you could modify a built-in property before,
e.g.
a. insert a field such as

{ COMMENTS "new comment text" }
or
{ INFO COMMENTS "new comment text" }

and update it. (This approach only works for some of the built-in
properties - title, author, comments, keywords and subject I think)
b. use VBA to modify the value of the built-in Comments property, e.g.

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties(wdPropert yComments) = "even
newer text"
End Sub

or

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties("Comments ") = "even newer text"
End Sub

If you use Greg Maxey's add-in or another approach to create your own
content control, you will probably need to update the value of the data
in the document's XML daa store to achieve the same thing. I think Greg's
pages provide enough info. to work out how to do that but post back if
you can't work it out.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Ed from AZ" wrote in message
...
In Word 2007, I would like to lock a table cell against users entering
text. I have a field code there which references text from elsewhere
in the document. I want to prevent the users from "helping" me by
entering text and overwriting the field code. But however it's
locked, I need to allow the field to update.

Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?

Thanks.
Ed





  #5   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Suzanne S. Barnhill Suzanne S. Barnhill is offline
external usenet poster
 
Posts: 33,624
Default Lock cell for text entry - allow field update only? Also, floating comment?

In my experience, StyleRef fields update automatically (and immediately)
wherever they are placed, at least in ordinary documents--don't know about
protected ones. I'm not suggesting them or legacy forms for this assignment,
just pointing this out.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

"Peter Jamieson" wrote in message
...
Yes, both good points, although I think STYLEREF fields only update
automatically in headers and footers and not when they are in the body of
the document.

Incidentally, when I first looked at this problem, I wondered if it would
be possible to use legacy forms protection - if you could actually start a
continuous section break immediately before the cell you wanted to
protect, and another one immediately after, it would probably be feasible.
But you can only break before and after the row which means you can't do
it unless your cell is in a single-column table. That said, itmay be one
of those cases where there is a completely different approach that a
different description of the intent might elicit.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Suzanne S. Barnhill" wrote in message
...
One note, Peter, wrt legacy forms. When you check the box for "Calculate
on exit" in the Form Field Options for a text or dropdown form field, a
REF field referring to that field *does* update automatically and
immediately. StyleRef fields also update immediately in any kind of
document (and in places in forms where you can't use REF fields, such as
the header and footer).

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

"Peter Jamieson" wrote in message
...
I am not sure you can do this using the old-style fields. I think there
is /a/ way to achieve most of what you want in Word 2007 using content
controls, but I have not used it for real (so e.g. it may be much easier
to break than I think), and it's not a particularly straightforward way.

By way of example, let's suppose you use Insert-Quick Parts-Document
Property-Comments

to insert a plain text content control that inserts the built-in
Comments document property. (if you use the method suggested in this
post, you will eventually want to use your own Content Control rather
than rely on the built-in properties - for that, I suggest you visit
Greg Maxey's page at
http://gregmaxey.mvps.org/Mapped_Content_Control.htm )

Insert another copy of that Comments document property content control.
Then type some text in the control and click outside the control. You
should see the content of the other copy update immediately. This is
different from the behaviour of old-style fields where the user
typically had to do something for e.g. the results of REF fields to be
updated. e.g. they might have to select everything and press F9, or go
into print preview, or print, or save and re-open. But the content
control values are linked to a data store in the .docx and when the dta
changes, the control contents change.

OK, now let's imagine you have the following document structu

some text and other material including a copy of the Comments Content
Control.
a table
some more text and other stuff

In one cell in that table you want a cell whose content the users cannot
update.

First, just try inserting a copy of that Comments content control in
that cell. Then, in the Developer tab, click Design Mode, and you should
see some "tags" appear either side of the control. Now right-click the
control and select Properties. (You may have to make sure you are
selecting exactly the right thing for the Properties option to appear).
Set "Title" to "You can't touch this" and check "Content Control cannot
be Deleted" and "Contents Cannot be edited". These properties only
affect this instance of the control. Click Design Mode again and notice
that
a. when you click the control in the table, you see "You can't touch
this". OK, so there's no floating tooltip.
b. you can't alter the content of the control in the table
c. you can't delete the control in the table
d. if you enter text in the other copy of the control and click outside
the control, the content in the table updates.

However, that's not quite enough, because if you click in the next cell,
then left arrow, you can still type text between the content control and
the end-of-cell marker.

To prevent that (this is the part I'm not too keen on), click
Developer-Protect Document-Restrict formatting and editing. In the
task pane, ensure "Allow only this type of editing in the document" is
checked, "No changes (Read only)" is selected. Obviously, that's not
much use in a document that's intended to be edited, but we can specify
that every part of the document except that cell is an exception. So...
a. select all of the document down to the table row above the cell that
contains the content control. Check Everyone.
b. in the row containing the content control, select the cells before
that cell, and check Everyone.
c. in the row containing the content control, select the cells after
that cell, and check Everyone.
d. select the cells in the row before the cell containing the content
control, and check Everyone.
e. select everything after that row and check Everyone.

Click "Yes, Start Enforcing Protection" and add whatever passwords you
want. For test purposes, you can leave this blank.

Notice that
a. the text in the unprotected area acquires a yellow background but
previews OK
b. you can edit most of the document in the usual way
c. although you can still click in the protected cell,
- you see "You can't touch this"
- you can't edit anything
d. if you modify the comment text in the control outside the table, the
copy in the table still updates. This is important, because if you put
an old-style REF field in the cell instead of a content control, modify
the bookmark text that it references, and try to update the REF field,
it does not change in the protected part of the document. So I think you
/have/ to use a content control to do this.

The last piece of this puzzle is how to modify the data that appears in
that cell. If the content control is mapped to a built-in property, you
can modify it any way that you could modify a built-in property before,
e.g.
a. insert a field such as

{ COMMENTS "new comment text" }
or
{ INFO COMMENTS "new comment text" }

and update it. (This approach only works for some of the built-in
properties - title, author, comments, keywords and subject I think)
b. use VBA to modify the value of the built-in Comments property, e.g.

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties(wdPropert yComments) = "even
newer text"
End Sub

or

Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties("Comments ") = "even newer text"
End Sub

If you use Greg Maxey's add-in or another approach to create your own
content control, you will probably need to update the value of the data
in the document's XML daa store to achieve the same thing. I think
Greg's pages provide enough info. to work out how to do that but post
back if you can't work it out.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Ed from AZ" wrote in message
...
In Word 2007, I would like to lock a table cell against users entering
text. I have a field code there which references text from elsewhere
in the document. I want to prevent the users from "helping" me by
entering text and overwriting the field code. But however it's
locked, I need to allow the field to update.

Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?

Thanks.
Ed








  #6   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.docmanagement
Ed from AZ Ed from AZ is offline
external usenet poster
 
Posts: 91
Default Lock cell for text entry - allow field update only? Also,floating comment?

Sorry for the delay in replying. I hate it when work grabs you like
that!!

I wound up using
-- a character style in the the type-in cells I want repeated
-- a StyleRef field in the cells I want the info to show in
-- protecting everything and then unprotecting all but the forbidden
parts.

I'd have to play with Greg Maxey's instructions a bit to understand
what I'm doing, and I just didn't have time. But that is well worth
looking at, and I greatly appreciate the time both of you took to help
me out.

Ed


On Jul 19, 5:03*pm, "Suzanne S. Barnhill" wrote:
In my experience, StyleRef fields update automatically (and immediately)
wherever they are placed, at least in ordinary documents--don't know about
protected ones. I'm not suggesting them or legacy forms for this assignment,
just pointing this out.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

"Peter Jamieson" wrote in message

...



Yes, both good points, although I think STYLEREF fields only update
automatically in headers and footers and not when they are in the body of
the document.


Incidentally, when I first looked at this problem, I wondered if it would
be possible to use legacy forms protection - if you could actually start a
continuous section break immediately before the cell you wanted to
protect, and another one immediately after, it would probably be feasible.
But you can only break before and after the row which means you can't do
it unless your cell is in a single-column table. That said, itmay be one
of those cases where there is a completely different approach that a
different description of the intent might elicit.


--
Peter Jamieson
http://tips.pjmsn.me.uk


"Suzanne S. Barnhill" wrote in message
...
One note, Peter, wrt legacy forms. When you check the box for "Calculate
on exit" in the Form Field Options for a text or dropdown form field, a
REF field referring to that field *does* update automatically and
immediately. StyleRef fields also update immediately in any kind of
document (and in places in forms where you can't use REF fields, such as
the header and footer).


--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA


"Peter Jamieson" wrote in message
.. .
I am not sure you can do this using the old-style fields. I think there
is /a/ way to achieve most of what you want in Word 2007 using content
controls, but I have not used it for real (so e.g. it may be much easier
to break than I think), and it's not a particularly straightforward way.


By way of example, let's suppose you use Insert-Quick Parts-Document
Property-Comments


to insert a plain text content control that inserts the built-in
Comments document property. (if you use the method suggested in this
post, you will eventually want to use your own Content Control rather
than rely on the built-in properties - for that, I suggest you visit
Greg Maxey's page at
http://gregmaxey.mvps.org/Mapped_Content_Control.htm)


Insert another copy of that Comments document property content control.
Then type some text in the control and click outside the control. You
should see the content of the other copy update immediately. This is
different from the behaviour of old-style fields where the user
typically had to do something for e.g. the results of REF fields to be
updated. e.g. they might have to select everything and press F9, or go
into print preview, or print, or save and re-open. But the content
control values are linked to a data store in the .docx and when the dta
changes, the control contents change.


OK, now let's imagine you have the following document structu


some text and other material including a copy of the Comments Content
Control.
a table
some more text and other stuff


In one cell in that table you want a cell whose content the users cannot
update.


First, just try inserting a copy of that Comments content control in
that cell. Then, in the Developer tab, click Design Mode, and you should
see some "tags" appear either side of the control. Now right-click the
control and select Properties. (You may have to make sure you are
selecting exactly the right thing for the Properties option to appear).
Set "Title" to "You can't touch this" and check "Content Control cannot
be Deleted" and "Contents Cannot be edited". These properties only
affect this instance of the control. Click Design Mode again and notice
that
a. when you click the control in the table, you see "You can't touch
this". OK, so there's no floating tooltip.
b. you can't alter the content of the control in the table
c. you can't delete the control in the table
d. if you enter text in the other copy of the control and click outside
the control, the content in the table updates.


However, that's not quite enough, because if you click in the next cell,
then left arrow, you can still type text between the content control and
the end-of-cell marker.


To prevent that (this is the part I'm not too keen on), click
Developer-Protect Document-Restrict formatting and editing. In the
task pane, ensure "Allow only this type of editing in the document" is
checked, "No changes (Read only)" is selected. Obviously, that's not
much use in a document that's intended to be edited, but we can specify
that every part of the document except that cell is an exception. So....
a. select all of the document down to the table row above the cell that
contains the content control. Check Everyone.
b. in the row containing the content control, select the cells before
that cell, and check Everyone.
c. in the row containing the content control, select the cells after
that cell, and check Everyone.
d. select the cells in the row before the cell containing the content
control, and check Everyone.
e. select everything after that row and check Everyone.


Click "Yes, Start Enforcing Protection" and add whatever passwords you
want. For test purposes, you can leave this blank.


Notice that
a. the text in the unprotected area acquires a yellow background but
previews OK
b. you can edit most of the document in the usual way
c. although you can still click in the protected cell,
* *- you see "You can't touch this"
* *- you can't edit anything
d. if you modify the comment text in the control outside the table, the
copy in the table still updates. This is important, because if you put
an old-style REF field in the cell instead of a content control, modify
the bookmark text that it references, and try to update the REF field,
it does not change in the protected part of the document. So I think you
/have/ to use a content control to do this.


The last piece of this puzzle is how to modify the data that appears in
that cell. If the content control is mapped to a built-in property, you
can modify it any way that you could modify a built-in property before,
e.g.
a. insert a field such as


{ COMMENTS "new comment text" }
or
{ INFO COMMENTS "new comment text" }


and update it. (This approach only works for some of the built-in
properties - title, author, comments, keywords and subject I think)
b. use VBA to modify the value of the built-in Comments property, e.g..


Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties(wdPropert yComments) = "even
newer text"
End Sub


or


Sub SetCommentsText()
ActiveDocument.BuiltInDocumentProperties("Comments ") = "even newer text"
End Sub


If you use Greg Maxey's add-in or another approach to create your own
content control, you will probably need to update the value of the data
in the document's XML daa store to achieve the same thing. I think
Greg's pages provide enough info. to work out how to do that but post
back if you can't work it out.


--
Peter Jamieson
http://tips.pjmsn.me.uk


"Ed from AZ" wrote in message
....
In Word 2007, I would like to lock a table cell against users entering
text. *I have a field code there which references text from elsewhere
in the document. *I want to prevent the users from "helping" me by
entering text and overwriting the field code. *But however it's
locked, I need to allow the field to update.


Also, can I set up a "floating comment" in that table cell, kind of
like an Excel comment, to let the user know not to try to enter text?


Thanks.
Ed- Hide quoted text -


- Show quoted text -


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
Lock cell for text entry - allow field update only? Also, floatingcomment? Ed from AZ Microsoft Word Help 5 July 23rd 08 02:50 PM
dropdown field with optional text entry Miranda Microsoft Word Help 2 February 18th 06 10:43 AM
Can I limit and lock a word field (ab text field) ? IT Trainer Microsoft Word Help 1 January 30th 06 03:08 PM
Copy portion of text form field , the field is in a table cell otilia Tables 6 January 27th 06 11:52 AM
Word Forms-text field-how do i set to allow bulleted text entry Julie Microsoft Word Help 1 September 29th 05 03:20 PM


All times are GMT +1. The time now is 11:46 PM.

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"