Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a picture in Powerpoint 2003, how do I change the picture without having to delete it and re-add it?

I need to save all the animations and it's going to take about 5 hours to re add them, but only like 20 mins if I change the pictures.

Or if there is anyway to copy a custom animation set to another picture that would also be ace

share|improve this question

migrated from stackoverflow.com Jun 15 '10 at 0:52

This question came from our site for professional and enthusiast programmers.

I belive this still works in pp03... you should be able to right click and click change picture...this is the easy est way (works in pp07 and pp10) http://www.screencast.com/t/OTQwM2U2OTMt

share|improve this answer
    
I saw my friends copy of powerpoint, he has that menu, but in 2003 I don't have the menu. – Tom Gullen Jun 15 '10 at 11:30
    
then I don't believe there is a option to do that then – mjrider Jun 15 '10 at 14:04

I have some code you can use for PPT 2003, since it doesn't appear to have any mechanism for changing a picture without screwing up animations. You'll have to work out how to choose which picture to use (I'd use ActiveWindow.Selection.ShapeRange(1)):

Function UpdateImage_BuildNewFromFile(TheImage As PowerPoint.Shape, ImageFile As String) As Boolean
    ' Create a new shape and add the image (unlinked) from TheImage, copy attributes and size, position, etc...

    UpdateImage_BuildNewFromFile = True
    On Error Resume Next
    'On Error GoTo PROC_ERR

    If TheImage Is Nothing Then GoTo PROC_ERR_BELOW

    If ImageFile = "" Then GoTo PROC_ERR_BELOW

    If Not TypeOf TheImage.Parent Is Slide Then GoTo PROC_ERR_BELOW
    Dim TheSlide As PowerPoint.Slide
    Set TheSlide = TheImage.Parent

    Dim NewShape As PowerPoint.Shape
    Set NewShape = TheSlide.Shapes.AddPicture(ImageFile, msoFalse, msoTrue, 100, 100)

    With NewShape
        With .PictureFormat
            .CropBottom = TheImage.PictureFormat.CropBottom
            .CropLeft = TheImage.PictureFormat.CropLeft
            .CropRight = TheImage.PictureFormat.CropRight
            .CropTop = TheImage.PictureFormat.CropTop
            .Brightness = TheImage.PictureFormat.Brightness
            .ColorType = TheImage.PictureFormat.ColorType
            .Contrast = TheImage.PictureFormat.Contrast
            .TransparentBackground = TheImage.PictureFormat.TransparentBackground
        End With
        .Left = TheImage.Left
        .Top = TheImage.Top
        .Width = TheImage.Width
        .Height = TheImage.Height
        SetZPosition NewShape, TheImage.ZOrderPosition
        With .AnimationSettings
            .AdvanceMode = TheImage.AnimationSettings.AdvanceMode
            .AdvanceTime = TheImage.AnimationSettings.AdvanceTime
            .AfterEffect = TheImage.AnimationSettings.AfterEffect
            .Animate = TheImage.AnimationSettings.Animate
            .AnimateBackground = TheImage.AnimationSettings.AnimateBackground
            .AnimateTextInReverse = TheImage.AnimationSettings.AnimateTextInReverse
            .AnimationOrder = TheImage.AnimationSettings.AnimationOrder
            .ChartUnitEffect = TheImage.AnimationSettings.ChartUnitEffect
            .DimColor = TheImage.AnimationSettings.DimColor
            .EntryEffect = TheImage.AnimationSettings.EntryEffect
            With .PlaySettings
                .ActionVerb = TheImage.AnimationSettings.PlaySettings.ActionVerb
                .HideWhileNotPlaying = TheImage.AnimationSettings.PlaySettings.HideWhileNotPlaying
                .LoopUntilStopped = TheImage.AnimationSettings.PlaySettings.LoopUntilStopped
                .PauseAnimation = TheImage.AnimationSettings.PlaySettings.PauseAnimation
                .PlayOnEntry = TheImage.AnimationSettings.PlaySettings.PlayOnEntry
                .RewindMovie = TheImage.AnimationSettings.PlaySettings.RewindMovie
                .StopAfterSlides = TheImage.AnimationSettings.PlaySettings.StopAfterSlides
            End With
            .TextLevelEffect = TheImage.AnimationSettings.TextLevelEffect
            .TextUnitEffect = TheImage.AnimationSettings.TextUnitEffect
        End With

    End With

PROC_EXIT:

    If Not TheImage Is Nothing Then TheImage.Delete

    On Error GoTo 0
    Exit Function

PROC_ERR:
    MsgBox Err.Description
    UpdateImage_BuildNewFromFile = False
    GoTo PROC_EXIT

PROC_ERR_BELOW:
    UpdateImage_BuildNewFromFile = False
    GoTo PROC_EXIT

End Function
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .