|
▼okura さん:
こんばんは。
>AddLineでの、線がずれる問題に困っています。
>
'==================================
Sub test()
Dim ln1shp As Shape
Dim ln2shp As Shape
Set ln1shp = ActiveSheet.Shapes.AddLine(100, 100, 100, 200)
Set ln2shp = ActiveSheet.Shapes.AddLine(101, 100, 101, 250)
DoEvents
With ln1shp
MsgBox .Left & "---" & .Top
End With
With ln2shp
MsgBox .Left & "---" & .Top
End With
Set ln1shp = ActiveSheet.Shapes.AddLine(150, 100, 150, 200)
Set ln2sgp = ActiveSheet.Shapes.AddLine(151, 100, 151, 250)
DoEvents
With ln1shp
MsgBox .Left & "---" & .Top
End With
With ln2shp
MsgBox .Left & "---" & .Top
End With
End Sub
新規ブックで上記のコードを実行させてみてください。
Leftを100と指定したのに99.75になっていますよね?
ポイントって0.75単位でしか指定できません。
よって、100と指定しても
round(100/0.75,0)*0.75という計算でまるめられます。
これを計算に入れてシェイプを作成しなくてはなりません。
|
|