|
#5 さん、こんばんわ。
>一つは図形の座標の取得について。
図形の座標は、Topプロパティ、 Leftプロパティ
セル位置では、TopLeftCellプロパティ、BottomRightCellプロパティで判断できます。
使い方はヘルプや過去ログにあると思います。
>その後にボタンを押して指定した二つの図形を選びその二つの図形を線で結びたいと思っているのですが、VBAではどのようにコードをかけばよいのでしょうか。教えてください。
図形を2つ選択してから実行すると最短距離で結びます。
Sub test()
Dim sr As ShapeRange, sh As Shape
'選択してるものをShapeRangeに格納
On Error Resume Next
Set sr = Selection.ShapeRange
On Error GoTo 0
'分岐(2つ図形を選択している状態以外は無視)
If Not sr Is Nothing Then
If sr.Count = 2 Then
Set sh = ActiveSheet.Shapes. _
AddConnector(msoConnectorElbow, 0, 0, 10, 10) '適当に追加
With sh.ConnectorFormat
.BeginConnect sr.Item(1), 1
.EndConnect sr.Item(2), 1
End With
sh.RerouteConnections '最短距離で結ぶ
Else
'図形を2個以外選択
MsgBox sr.Count & "個", vbExclamation, "Shapeを2つ選んで実行"
End If
Else
'図形を選択していない
MsgBox TypeName(Selection), vbExclamation, "Shapeを2つ選んで実行"
End If
Set sr = Nothing
Set sh = Nothing
End Sub
こんな感じです。
|
|