Just for the heck, a version that draws the hands too for some arbitrary
time, and also the numbers around the circumference:
Sub TestClock()
Clock ("14:23")
End Sub
Sub Clock(vTime As Variant)
Dim myTextBox As Shape
vTime = Split(vTime, ":")
Dim myHours As Double
Dim myMinutes As Double
myHours = vTime(LBound(vTime))
myMinutes = vTime(UBound(vTime))
myHours = myHours + myMinutes / 60
Dim Pi: Pi = 3.1415926
Dim i As Long
ActiveDocument.Shapes.AddShape _
Type:=msoShapeOval, _
left:=100, _
Top:=100, _
Width:=200, _
Height:=200
For i = 0 To 59
ActiveDocument.Shapes.AddLine _
BeginX:=200 + 97 * Sin(2 * Pi * i / 60), _
BeginY:=200 - 97 * Cos(2 * Pi * i / 60), _
EndX:=200 + 100 * Sin(2 * Pi * i / 60), _
EndY:=200 - 100 * Cos(2 * Pi * i / 60)
Next i
For i = 0 To 12 Step 3
ActiveDocument.Shapes.AddLine _
BeginX:=200 + 85 * Sin(2 * Pi * i / 12), _
BeginY:=200 - 85 * Cos(2 * Pi * i / 12), _
EndX:=200 + 100 * Sin(2 * Pi * i / 12), _
EndY:=200 - 100 * Cos(2 * Pi * i / 12)
Next i
For i = 1 To 12
ActiveDocument.Shapes.AddLine _
BeginX:=200 + 92 * Sin(2 * Pi * i / 12), _
BeginY:=200 - 92 * Cos(2 * Pi * i / 12), _
EndX:=200 + 100 * Sin(2 * Pi * i / 12), _
EndY:=200 - 100 * Cos(2 * Pi * i / 12)
Set myTextBox = _
ActiveDocument.Shapes.AddTextbox _
(Orientation:=msoTextOrientationHorizontal, _
left:=200 + 115 * Sin(2 * Pi * i / 12) - 10, _
Top:=200 - 115 * Cos(2 * Pi * i / 12) - 10, _
Width:=20, _
Height:=20)
With myTextBox
.Line.Weight = 0
.Line.Visible = msoFalse
.Fill.Transparency = 1
With .TextFrame
.MarginBottom = 0
.MarginLeft = 0
.MarginRight = 0
.MarginTop = 0
.TextRange = str(i)
.TextRange.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
End With
Next i
ActiveDocument.Shapes.AddLine _
BeginX:=200, _
BeginY:=200, _
EndX:=200 + 100 * Sin(2 * Pi * myHours / 12 * 12), _
EndY:=200 - 100 * Cos(2 * Pi * myHours / 12 * 12)
ActiveDocument.Shapes.AddLine _
BeginX:=200, _
BeginY:=200, _
EndX:=200 + 60 * Sin(2 * Pi * myHours / 12), _
EndY:=200 - 60 * Cos(2 * Pi * myHours / 12)
End Sub