Re[5]: InlineShape: узнать место на странице
От: Elena_ Россия  
Дата: 23.07.04 20:55
Оценка:
Здравствуйте, Седьмой романтик, Вы писали:

СР>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, если его аккуратно вводить, вполне удобен для идентификации.
Пользователь — друг программиста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.