【问题标题】:How to extract shape coordinates in Word VBA如何在 Word VBA 中提取形状坐标
【发布时间】:2010-01-06 01:21:16
【问题描述】:

我正在尝试在 Word 中编写一个 VBA 宏,它将提取形状并在 Visio 中构建它们。我在获取文档中形状的 X Y 坐标时遇到了一些麻烦。我尝试使用形状对象的 Top 和 Left 属性。 Left 属性似乎工作正常,但 Top 似乎不能正常工作。页面顶部附近的形状可以与底部形状具有相同的顶部,因此顶部似乎不适用于 Y 坐标,这对我来说没有意义。

有什么想法或建议吗?

【问题讨论】:

    标签: vba ms-word visio


    【解决方案1】:

    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
    

    【讨论】:

    • 看起来问题更多地与每个形状的原点位置有关,而不是更新 Top 属性。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多