Форум по VBA, Excel и Word

Word => Макросы в Word => Тема начата: vic7tar от 10 мая 2019, 12:01

Название: Word VBA Макросы: Как определить координаты линии относительно начала листа?
Отправлено: vic7tar от 10 мая 2019, 12:01
Как определить координаты линии относительно начала листа, если линия привязана к левой границе таблицы? Документ сторонний и привязка линий может быть разной.
Изменение привязки линии к странице не помогает: привязку переводил к странице, получал координаты, затем привязку возвращал. Работало всё хорошо до этого случая.
Название: Re: Word VBA Макросы: Как определить координаты линии относительно начала листа?
Отправлено: Администратор от 10 мая 2019, 22:50
Макрос
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
[свернуть]
Название: Re: Word VBA Макросы: Как определить координаты линии относительно начала листа?
Отправлено: vic7tar от 11 мая 2019, 15:53
Администратор, спасибо, помогло.