Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a teacher that uses Microsoft Word to create worksheets for my students. When I'm making notes, sometimes I like to use fill-in-the-blank. Right now, I save two versions of the document, one with blanks (underscores or underlined spaces) and another with the filled in answers. This is getting to be cumbersome because not only does each document take up 2 files worth of space, but every time I make a change to one file I must make the same exact change to the other file.

I'd like to take advantage of Word's hidden text feature, but it's not working the way I would like.

For those of you unaware, you can highlight some text, go to Format > Font... (or +D on the Mac) and check the Hidden checkbox to hide text. Depending on your settings, this can be a useful feature.

I have my settings set such that I can see hidden text on screen, but it will not be printed. When the program removes hidden text from the printed document, it removes the text altogether as if it were never typed.

A relation is a function iff every input in the domain has exactly one output.

For example, I'd like the word "function" to be removed from the notes and replaced with a blank so that students can fill it in themselves. When I hide the word "function" and print the document, it prints the following:

A relation is a  iff every input in the domain has exactly one output.

What I'd like it to print is the following:

A relation is a ________ iff every input in the domain has exactly one output.

How can I get word to leave a placeholder for hidden text? Is there a way to leave the underline there as shown above?

I don't like the idea of using the Comments and/or Markup feature, so please no suggestions regarding that.

share|improve this question
I suggest you look at Conditional text in Word instead of your hidden text approach. E.g. Based on a condition you either print the answer or the underscores. Set the condition at the beginning of your document. – Jan Doggen Oct 2 '13 at 8:54

What you are going to want to do is before printing, do a find and replace by the hidden attribute to __, and then print (but don't save) that copy.

To search by the hidden attribute, go to find and replace, and then with the focus on find, click the Format->Font button.

In that dialog box, select the hidden box, and not every other box.

The result should look like this: enter image description here

share|improve this answer
Wouldn't this replace everything? – Louis Oct 30 '12 at 6:36
@Louis this replaces all hidden text (one group at a time) with _____. The rest of the document is unchanged. Simply don't save it after this – soandos Oct 30 '12 at 6:41
You could make a macro that does this, prints, and reverts. And I believe you just need to check the Hidden box while leaving all others indeterminate, otherwise you wouldn't replace hidden text in small caps, e.g. – Joey Oct 30 '12 at 6:42
@Joey I could, but it sounds like overkill. Additionally, that means that the document needs to be trusted, will be harder to send to colleagues, etc. Its not needed at this point. Additionally, a simple undo is the revert, so that can easily be done manually as well – soandos Oct 30 '12 at 6:43
@Louis you misunderstand. It is saying if the text !strikethrough&&not small caps && not all caps ... Its not OR its AND. Feel free to try it out – soandos Oct 30 '12 at 6:45

The answer provided by soandos was a good start for me. However, when replacing text of variable length, it's not very convenient to use a fixed number of underscore characters. My fix:

  • use the same formatting options as suggested by soandos then
  • in the "find what" box, use the following code "^?"
  • in the "replace with" box, just type "_" (one underscore character or any other suitable replacement)

What the above will do is substitute each hidden character with an underscore character (or other replacement character(s)). This solved the problem of words of varying length for me.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .