シート名Sheet1にExcelのオートシェイプの線を適当に書き込み
下記マクロを実行すると追加のシートにその線のデータを
書き込む、これだけでも結構使えるのではないでしょうか。
言った手前実験してみました。Delphiでなくてご免なさい。
Sub 線データ抽出()
'テストデータ G_Data01シート
Dim Shape1 As Shape
Dim Sheet1 As Worksheet
Dim Sheet2 As Worksheet
Dim i As Long
Dim Row1 As Long
Set Sheet1 = Worksheets("Sheet1") '抽出対象のシート
Set Sheet2 = Worksheets.Add 'データ書き込みシート追加
Sheet2.Cells(1, 1).Resize(, 5).Value = _
Array("Name", "Top", "Left", "Height", "Width")
i = 1
Row1 = 2
Sheet1.Select
For Each Shape1 In Sheet1.Shapes
i = i + 1
With Shape1
.Select
If .Type = msoLine Then
Sheet2.Cells(Row1, 1).Resize(, 5).Value = _
Array(.Name, .Top, .Left, .Height, .Width)
Row1 = Row1 + 1
End If
End With
Next
Sheet2.Select
End Sub
|