|
▼kanisan さん:
>(Mougにも同じ質問をしていますが、どなたからも回答がいただけていないため、> こちらにも投稿させていただきました。)
こちらはマルチポスト容認ですが、Mougは許可されていないので
こちらで質問されるなら、向こうは解決済みにされたほうがよろしいかと。
で、2007では以下のようにする事で波線が描けました。
最初にConvertしないでAddNodesで追加してから最後にConvertです。
Sub Namisen(Xtop, Ytop, Xbotm, Ybotm, myColor)
Dim W As Double, H As Double, Px As Double
Dim Pol As Integer, P As Integer
Dim i As Long
W = Xbotm - Xtop '幅
H = Ybotm - Ytop '高さ
Pol = H / Abs(H) '極性(戻り線の場合にマイナスとなる。)
P = 4 '波線のピッチ
Px = P * 0.6
With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, Xtop, Ytop)
For i = Pol To H / P Step Pol
If i Mod 2 = 0 Then
.AddNodes msoSegmentCurve, msoEditingAuto, Xtop + (i * W * P / H) - Px, Ytop + P * i
Else
.AddNodes msoSegmentCurve, msoEditingAuto, Xtop + (i * W * P / H) + Px, Ytop + P * i
End If
Next i
.AddNodes msoSegmentCurve, msoEditingAuto, Xbotm, Ybotm
.ConvertToShape.Line.ForeColor.SchemeColor = myColor
End With
End Sub
|
|