Как извлечь координаты формы в Word VBA - PullRequest
4 голосов
/ 05 января 2010

Я пытаюсь написать макрос VBA в Word, который будет извлекать фигуры и строить их в Visio. У меня возникли проблемы с получением координат X Y фигуры в документе. Я попытался использовать свойства Top и Left объектов shape. Кажется, что свойство Left работает нормально, но Top не работает должным образом. Форма в верхней части страницы может иметь ту же вершину, что и форма в нижней части, поэтому верх, кажется, не относится к координате Y, что для меня не имеет смысла.

Есть мысли или предложения?

1 Ответ

2 голосов
/ 05 января 2010

Jon, свойство "Top" должно обновляться при изменении местоположения фигуры. Вы запускаете скрипт, похожий на этот:

Sub getShapeXY()

    Dim shp As Shape
    Set shp = ThisDocument.Shapes(1)

    shpOffsetX = shp.Left
    shpWidth = shp.Width
    x = shpOffsetX + shpWidth

    shpOffsetY = shp.Top
    shpHeight = shp.Height
    y = shpOffsetY + shpHeight

    Debug.Print shpOffsetX & ": OffsetX, " & shpWidth & ": Width, " & x & ": X"
    Debug.Print shpOffsetY & ": OffsetY, " & shpHeight & ": Height, " & y & ": Y"

End Sub
...