4
我正在嘗試在Word中編寫VBA宏,該宏將提取形狀並在Visio中生成它們。我在獲取文檔中形狀的X Y座標時遇到了一些麻煩。我嘗試過使用形狀對象的Top和Left屬性。左邊的屬性似乎工作正常,但Top似乎不能正常工作。靠近頁面頂部的形狀可以具有與底部形狀相同的頂部,所以頂部似乎不適用於Y座標,這對我來說沒有意義。如何在Word VBA中提取形狀座標
任何想法或建議?
我正在嘗試在Word中編寫VBA宏,該宏將提取形狀並在Visio中生成它們。我在獲取文檔中形狀的X Y座標時遇到了一些麻煩。我嘗試過使用形狀對象的Top和Left屬性。左邊的屬性似乎工作正常,但Top似乎不能正常工作。靠近頁面頂部的形狀可以具有與底部形狀相同的頂部,所以頂部似乎不適用於Y座標,這對我來說沒有意義。如何在Word VBA中提取形狀座標
任何想法或建議?
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屬性。謝謝! – 2010-01-05 18:43:21