I agree with Steve, tell your boss it ain't possible.
It can be done, though -- without a macro but with a ton of extra
work, and the workaround is so klutzy I'm embarrassed to offer it.
Anyway, what you have to do is create a parallel set of fields, side
by side. They increment independently of each other, but they're
always used together so their number values will always be the same.
You hide the one that increments the list template numbering but you
display the one with the leading zeroes. Let's say we're talking
about level 2, the value of which is now 3, and you need 3 leading
zeroes:
{ LISTNUM \L 2 }( SEQ x \# 0000) = 0003
The LISTNUM field will be in hidden font, the SEQ field won't.
Next extra work comes if it's level 1 you're dealing with. Since you
can't the use the Heading 1 style, your first level 1 entry must be a
LISTNUM field. And the first time you use a LISTNUM field in any
document, even if you specify \L 1, you get 1).
Therefore, you have to *name the list template* in the Customize
Outline Numbered List dialog box (the name box is on the bottom).
Then you have to include the name in the LISTNUM field each time:
( LISTNUM MyListTemplateName \L 1 }( SEQ x \# 0000)
Not enough extra work? OK, next you have to mark the heading so it
appears in the table of contents if this is a requirement. Select the
whole mess -- the two fields plus the heading -- and press
Shift-Alt-o. Careful -- if you don't see the number in the Entry box
on top, you're not going to see it in the table of contents.
And one final piece of extra work: SEQ fields must be updated each
time they are created. Select the field and press F9.
I agree with Steve. Tell him it can't be done. - Bruce