October 1999
Beginner
410 pages
10h 45m
English
To illustrate the use of AutoShapes, the code in Example B-3 inserts a dampened sine curve of small stars in the drawing layer. The output from this code is shown in Figure B-7.
Example B-3. The DrawSine2 Subroutine
Sub DrawSine2()
' Dampened sine wave of small stars
Const pi = 3.1416
Dim i As Integer
Dim x As Single, y As Single
Dim rng As Range ' For starting point
Dim n As Single ' Cycle length in inches
Dim k As Integer ' k stars
Dim ScaleY As Single ' Vertical scaling
Dim sSize As Single ' Star size
Dim sDamp1 As Single ' Dampening factor
Dim sDamp2 As Single ' Dampening factor
Dim cCycles As Integer ' Number of cycles
Dim sh As Shape
cCycles = 3
sDamp1 = 1
sDamp2 = 0.2
n = 2
k = 20
ScaleY = 0.5
sSize = InchesToPoints(0.1)
' Start at insertion point
Set rng = Selection.Range
' Loop for first curve with phase shift
For i = 1 To cCycles * k
x = n * i / k
y = ScaleY * Sin((2 * pi * i) / k + n) * _
(sDamp1 / (x + sDamp2))
y = InchesToPoints(y)
x = InchesToPoints(x)
Set sh = ActiveDocument.Shapes.AddShape _
(msoShape5pointStar, x, y, sSize, sSize, rng)
sh.Fill.ForeColor.RGB = RGB(192, 192, 192) ' 25% gray
sh.Fill.Visible = msoTrue
Next i
End Sub
Figure B-7. A dampened sine wave of stars
The code in Example B-4 produces a random series of stars, each containing a single letter that together spells a name. Note that each time the program is run, the pattern is different. One output ...
Read now
Unlock full access