Как извлечь координаты фигуры в Word VBA


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

Какие-нибудь мысли или предложения?

1 4

1 ответ:

Джон, свойство " 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