Let Clippy dance
How to display all the animations of the Office Assistant
Article contributed by Astrid Zeelenberg
In Office 97 there are 34 different animations for the Assistant. With the following code you can show them all.
In Office 2000 there are 35 – the extra one is msoAnimationRestPose, which you can add to the following code if you want to.
Sub LetClippyDance()
Dim oAssistant As Assistant
Dim i As Long
Dim arAnimation() As Long
ReDim arAnimation(33)
arAnimation(0) = msoAnimationAppear
arAnimation(1) = msoAnimationBeginSpeaking
arAnimation(2) = msoAnimationCharacterSuccessMajor
arAnimation(3) = msoAnimationCheckingSomething
arAnimation(4) = msoAnimationDisappear
arAnimation(5) = msoAnimationEmptyTrash
arAnimation(6) = msoAnimationGestureDown
arAnimation(7) = msoAnimationGestureLeft
arAnimation(8) = msoAnimationGestureRight
arAnimation(9) = msoAnimationGestureUp
arAnimation(10) = msoAnimationGetArtsy
arAnimation(11) = msoAnimationGetAttentionMajor
arAnimation(12) = msoAnimationGetAttentionMinor
arAnimation(13) = msoAnimationGetTechy
arAnimation(14) = msoAnimationGetWizardy
arAnimation(15) = msoAnimationGoodbye
arAnimation(16) = msoAnimationGreeting
arAnimation(17) = msoAnimationIdle
arAnimation(18) = msoAnimationListensToComputer
arAnimation(19) = msoAnimationLookDown
arAnimation(20) = msoAnimationLookDownLeft
arAnimation(21) = msoAnimationLookDownRight
arAnimation(22) = msoAnimationLookLeft
arAnimation(23) = msoAnimationLookRight
arAnimation(24) = msoAnimationLookUp
arAnimation(25) = msoAnimationLookUpLeft
arAnimation(26) = msoAnimationLookUpRight
arAnimation(27) = msoAnimationPrinting
arAnimation(28) = msoAnimationSaving
arAnimation(29) = msoAnimationSearching
arAnimation(30) = msoAnimationSendingMail
arAnimation(31) = msoAnimationThinking
arAnimation(32) = msoAnimationWorkingAtSomething
arAnimation(33) = msoAnimationWritingNotingSomething
With Application.Assistant
.Visible = True
For i =
LBound(arAnimation) To
UBound(arAnimation)
.Animation = arAnimation(i)
'Show the animation for one second
HaveABreak
Next i
'Hide the assistant
.Visible = False
End With
End Sub
Sub HaveABreak()
Dim PauseTime As Long
Dim Start As Long
PauseTime = 1
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
End Sub