Lowering Inserted Objects - Tricky

P

Paul Hooper

I apologise for the long post but this is tricky to explain.

When you insert an InlineShape (in our case an OLE object), the bottom
of
the shape lines up with the baseline of the font. We need it to be
lower.

Currently we have a macro that:

1. Inserts the object
2. Selects the object
3. Sets Selection.Font.Position to a negative value

This basically works BUT it creates a problem. If the user gets the
insertion point immediately after the inserted object, any text inserted
will take on the object's font position (ie lowered). There is no
indication to the user that their text is lowered apart from our objects
appearing to be too high - because they ARE being lowered, but not in
relation to this lowered text.

We minimise the risk of this happening by inserting a normal (ie not
lowered) space after the object but users still can (and do) get their
insertion points between the object and the space.

Microsoft's equation editor gets around this problem by "lowering" the
object without actually lowering it. It is using some undocumented
interface to do this. We would LOVE to be able to utilise this
interface.

We can see a few possible solutions to this problem.

1. Utilise Word's Equation Editor features (I wish!)
2. Prevent the insertion point after the object from carrying
the
"lowered" characteristic.
3. Preventing the insertion point from being placed between the
object and our space. Somehow "grouping" the object and the space
together.

To prevent people wasting time on this, please note the following:

1. Making the space "hidden" does not hide the insertion point.
Word tracks the rotten thing downl
2. We have tried using the Advance field without much success.
There still exists an insertion point before and after the embedded
object
where typed text will be lowered.
3. We have looked at nexting fields but have been largely
stymied
by the object not displaying when the Embed field is nested.

ANY ideas would be most welcome.
 
H

Helmut Weber

Hi Paul,
ANY ideas would be most welcome.
if so, then
why not leave the inlineshapes on the baseline altogether,
lower them before printing, and rise them after printing again,
e.g. for lowering all inlineshapes:
Dim iShp As InlineShape
For Each iShp In ActiveDocument.InlineShapes
With iShp.Range.Font
.Position = -3
End With
Next
---
Not perfect, but where is the perfect solution?
Greetings from Bavaria, Germany
Helmut Weber, MVP
"red.sys" & chr(64) & "t-online.de"
Word XP, Win 98

Gruss
Helmut Weber
"red.sys" & chr(64) & "t-online.de"
Word XP, Win 98
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top