Здравствуйте, Седьмой романтик, Вы писали:
СР>1) Как узнать местоположение InlineShape на странице, т.е. не только ширину
СР>и высоту, но и привязку к границам текущего листа.
СР>2) Допустим я нашёл. Но надо как-то сообщить о каком конкретно объекте идёт
СР>речь, то есть как найти контекст в тексте для объекта: в каком параграфе
СР>находится и после каких символов текста вставлен?
Посмотрите Information
Например, типа
Dim ishp As InlineShape, rng As Range
For Each ishp In ActiveDocument.InlineShapes
If ishp.Width + ishp.Range.Information(wdHorizontalPositionRelativeToPage) > _
(ActiveDocument.PageSetup.PageWidth - ActiveDocument.PageSetup.RightMargin) Then
''''' MsgBox ishp.AlternativeText
MsgBox "page " & ishp.Range.Information(wdActiveEndAdjustedPageNumber) & " " & _
"line " & ishp.Range.Information(wdFirstCharacterLineNumber)
''''' Set rng = ishp.Range
''''' Set rng = rng.Previous(Unit:=wdSentence, Count:=1)
''''' MsgBox rng.Text
ishp.Width = _
(ActiveDocument.PageSetup.PageWidth - ActiveDocument.PageSetup.RightMargin) - _
ishp.Range.Information(wdHorizontalPositionRelativeToPage)
End If
Next ishp
Вообще-то мне кажется, что AlternativeText, если его аккуратно вводить, вполне удобен для идентификации.