Word VBA Макросы: Как определить координаты линии относительно начала листа?

Автор vic7tar, 10 мая 2019, 12:01

vic7tar

Как определить координаты линии относительно начала листа, если линия привязана к левой границе таблицы? Документ сторонний и привязка линий может быть разной.
Изменение привязки линии к странице не помогает: привязку переводил к странице, получал координаты, затем привязку возвращал. Работало всё хорошо до этого случая.

Администратор

Макрос
Sub макрос()
   
    Dim shape As shape, top As Single
   
    ' Присваиваем фигуре имя "shape". Далее в коде будем обращаться к фигуре по имени "shape".
        ' Может быть так будет удобнее читать и писать код.
    Set shape = ActiveDocument.Shapes(1)
   
    ' shape.Anchor.Information(wdVerticalPositionRelativeToPage) - расстояние от якоря до верха страницы, в пунктах.
    ' shape.top - расстояние от фигуры до якоря, в пунктах.
    top = shape.Anchor.Information(wdVerticalPositionRelativeToPage) + shape.top
   
    ' Перевод пунктов в сантиметры и вывод результата в View - Immediate Window.
    Debug.Print Application.PointsToCentimeters(top)

End Sub
[свернуть]