If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
vba and animations
Hi,
I am using VBA in PowerPoint 2003. I'm new to VBA and I find that looking for informations about animation is quite difficult. When I want to know what informations to give when I want to insert a shape, it's quite easy because I can record a macro and then use this information. Unfortunately, it's not possible for animation. Do you know of any good tutorial about this ? For example, I would like to know how to lenghten the path if I'm using msoAnimEffectPathRight or how to include a sound with it. On another subject, there is still no answer to my question here and I haven't found an answer by myself : http://www.microsoft.com/office/comm...werpoint&fltr= Thank you for your help. It is very appreciated. Christine./ Exemple of code I am using, exploring userform and animations : Private Sub CheckBox1_Click() etoile = True End Sub Private Sub CheckBox2_Click() carre = True End Sub Private Sub CheckBox3_Click() cercle = True End Sub Private Sub CommandButton1_Click() Me.hide If etoile = True Then Set formeEtoile = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShape5pointStar, 67.75, 60.12, 97.38, 84.75) With formeEtoile .Fill.ForeColor.RGB = RGB(255, 255, 0) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(255, 102, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If carre = True Then Set formeCarre = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeRectangle, 67.75, 191.38, 88.88, 78) With formeCarre .Fill.ForeColor.SchemeColor = ppAccent2 .Fill.Transparency = 0# .Line.Weight = 4# .Line.ForeColor.RGB = RGB(128, 128, 128) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If cercle = True Then Set formeCercle = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeOval, 67.75, 401.5, 122.75, 122.75) With formeCercle .Fill.ForeColor.RGB = RGB(255, 0, 255) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(153, 204, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If etoile = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If etoile = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectSpin) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectFlicker) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectWave) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If End Sub Private Sub OptionButton1_Click() trajet = True End Sub Private Sub OptionButton2_Click() emphase = True End Sub |
#2
|
|||
|
|||
vba and animations
Unfortunately, there is not much available on this topic. I think the
most you are going to find is on Shyam's site: http://skp.mvps.org/ppttimeline1.htm I didn't discuss animations in my book about PowerPoint and VBA. --David -- David M. Marcovitz Microsoft PowerPoint MVP Associate Professor, Loyola University Maryland Author of _Powerful PowerPoint for Educators_ http://www.PowerfulPowerPoint.com/ On 6/4/10 12:14 PM, Christine Fournier wrote: Hi, I am using VBA in PowerPoint 2003. I'm new to VBA and I find that looking for informations about animation is quite difficult. When I want to know what informations to give when I want to insert a shape, it's quite easy because I can record a macro and then use this information. Unfortunately, it's not possible for animation. Do you know of any good tutorial about this ? For example, I would like to know how to lenghten the path if I'm using msoAnimEffectPathRight or how to include a sound with it. On another subject, there is still no answer to my question here and I haven't found an answer by myself : http://www.microsoft.com/office/comm...werpoint&fltr= Thank you for your help. It is very appreciated. Christine./ Exemple of code I am using, exploring userform and animations : Private Sub CheckBox1_Click() etoile = True End Sub Private Sub CheckBox2_Click() carre = True End Sub Private Sub CheckBox3_Click() cercle = True End Sub Private Sub CommandButton1_Click() Me.hide If etoile = True Then Set formeEtoile = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShape5pointStar, 67.75, 60.12, 97.38, 84.75) With formeEtoile .Fill.ForeColor.RGB = RGB(255, 255, 0) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(255, 102, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If carre = True Then Set formeCarre = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeRectangle, 67.75, 191.38, 88.88, 78) With formeCarre .Fill.ForeColor.SchemeColor = ppAccent2 .Fill.Transparency = 0# .Line.Weight = 4# .Line.ForeColor.RGB = RGB(128, 128, 128) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If cercle = True Then Set formeCercle = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeOval, 67.75, 401.5, 122.75, 122.75) With formeCercle .Fill.ForeColor.RGB = RGB(255, 0, 255) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(153, 204, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If etoile = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If etoile = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectSpin) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectFlicker) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectWave) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If End Sub Private Sub OptionButton1_Click() trajet = True End Sub Private Sub OptionButton2_Click() emphase = True End Sub |
#3
|
|||
|
|||
vba and animations
Christine,
You can change the length of the motion path animation by editing the VML information of the motion. Take a look at the string returned by the Path property and parse the information from there. You can read more about VML. Basically the motion string is a set of space delimited coordinates representing lines or bezier curves. The dimensions are relative to the size of the slide. Sub AddMotionPath() Dim shpNew As Shape Dim effNew As Effect Dim aniMotion As AnimationBehavior Set shpNew = ActivePresentation.Slides(1).Shapes _ .AddShape(Type:=msoShape5pointStar, Left:=0, _ Top:=0, Width:=100, Height:=100) Set effNew = ActivePresentation.Slides(1).TimeLine.MainSequence _ .AddEffect(Shape:=shpNew, effectId:=msoAnimEffectCustom, _ Trigger:=msoAnimTriggerWithPrevious) Set aniMotion = effNew.Behaviors.Add(msoAnimTypeMotion) With aniMotion.MotionEffect .Path = "M 0 0 L -0.25 0 E" End With End Sub Regards, Shyam Pillai Image Importer Wizard http://skp.mvps.org/iiw.htm Hi there, Regards, Shyam Pillai Animation Carbon http://www.animationcarbon.com "Christine Fournier" wrote in message ... Hi, I am using VBA in PowerPoint 2003. I'm new to VBA and I find that looking for informations about animation is quite difficult. When I want to know what informations to give when I want to insert a shape, it's quite easy because I can record a macro and then use this information. Unfortunately, it's not possible for animation. Do you know of any good tutorial about this ? For example, I would like to know how to lenghten the path if I'm using msoAnimEffectPathRight or how to include a sound with it. On another subject, there is still no answer to my question here and I haven't found an answer by myself : http://www.microsoft.com/office/comm...werpoint&fltr= Thank you for your help. It is very appreciated. Christine./ Exemple of code I am using, exploring userform and animations : Private Sub CheckBox1_Click() etoile = True End Sub Private Sub CheckBox2_Click() carre = True End Sub Private Sub CheckBox3_Click() cercle = True End Sub Private Sub CommandButton1_Click() Me.hide If etoile = True Then Set formeEtoile = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShape5pointStar, 67.75, 60.12, 97.38, 84.75) With formeEtoile .Fill.ForeColor.RGB = RGB(255, 255, 0) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(255, 102, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If carre = True Then Set formeCarre = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeRectangle, 67.75, 191.38, 88.88, 78) With formeCarre .Fill.ForeColor.SchemeColor = ppAccent2 .Fill.Transparency = 0# .Line.Weight = 4# .Line.ForeColor.RGB = RGB(128, 128, 128) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If cercle = True Then Set formeCercle = ActivePresentation.SlideShowWindow.View.Slide.Shap es.AddShape(msoShapeOval, 67.75, 401.5, 122.75, 122.75) With formeCercle .Fill.ForeColor.RGB = RGB(255, 0, 255) .Line.Weight = 4# .Line.ForeColor.RGB = RGB(153, 204, 0) .Line.BackColor.RGB = RGB(255, 255, 255) End With End If If etoile = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If etoile = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeEtoile, effectid:=msoAnimEffectSpin) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If carre = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCarre, effectid:=msoAnimEffectFlicker) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And trajet = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectPathRight) .Timing.SmoothEnd = False .Timing.SmoothStart = False .Timing.Speed = 1 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If If cercle = True And emphase = True Then With ActivePresentation.SlideShowWindow.View.Slide.Time Line.MainSequence.AddEffect(Shape:=formeCercle, effectid:=msoAnimEffectWave) .Timing.Duration = 2 .Timing.TriggerType = msoAnimTriggerAfterPrevious .Timing.TriggerDelayTime = 1 End With End If End Sub Private Sub OptionButton1_Click() trajet = True End Sub Private Sub OptionButton2_Click() emphase = True End Sub |
Thread Tools | |
Display Modes | |
|
|