Автор Тема: Word VBA Макросы: Как определить координаты линии относительно начала листа?  (Прочитано 36 раз)

Оффлайн vic7tar

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

Оффлайн Администратор

  • Administrator
  • Сообщений: 1627
Макрос
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

Оффлайн vic7tar

  • Посетитель форума
  • Сообщений: 2
Администратор, спасибо, помогло.

Оффлайн Администратор

  • Administrator
  • Сообщений: 1627
Написал вам письмо на почту (с другим содержимым).