none
the image cannot be displayed (...) on Powerpoint 2007 SP3 RRS feed

  • Question

  • I have an AddIn that copies in current presentation the slide from another presentation
    Powerpoint is 2007 SP3, AddIn is a VSTO 2007 project in VB, I'm using VS2010
    If a slide contains a picture, i got "The image cannot displayed. Your computer may not have enough memory to open the image, or may have been corrupted. Restart your computer, and then open the file again. If the red X still appears, you may have to delete the image and then insert it again." after the copy.
    The fact is that doesnt happen in SP2, but with SP3 the bug is untimely.
    The code is SourceSlide.Copy(), DestSlide.Paste().
    It works with a manual Ctrl+C  Ctrl+V 
    To determine what's wrong, i dezipped the pptx file, and compare side by side Slide(n).xml and Slide(n + 1).xml (the one copied by hand, and the one copied by automation)
    I have to reformat the XML file to read it. At line 3712, the corect silde have      <a:blip r:embed="rId9" cstate="print"> and the corrupted slide <a:blip r:embed="rId16" cstate="print">
    How can 1 incorerect ID corrupt all pictures ?
    Is there a memory leak on office 2007 SP3 (my addin use lot of WPF controls) ?
    What am i doing wrong ? Thanks

    Edit :
     
    My AddIn :

        Private Sub Button1_Click(sender As System.Object, e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles A.Click, Button1.Click

      Dim p As Presentation = Globals.ThisAddIn.Application.Presentations.Open("C:\(...)\Template.pptx", Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue)

      p.Slides(3).Copy()
      p.Close()

      Globals.ThisAddIn.Application.ActivePresentation.Slides.Paste()

        End Sub
        Private Sub Button2_Click(sender As System.Object, e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button2.Click
      Dim p As Presentation = Globals.ThisAddIn.Application.Presentations.Open("C:\(...)\Desktop\Presentation1.pptx", Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue)
      p.Slides(1).Copy()
      p.Close()

      Globals.ThisAddIn.Application.ActivePresentation.Slides.Paste()
        End Sub
    Zoom for see correctly the picture



    • Edited by Avlin67 Tuesday, January 24, 2012 5:52 PM
    Tuesday, January 24, 2012 4:34 PM

All replies

  • Within the same presentation instead of the Slide.Copy command, try using the Slide.Duplicate and then Slide.MoveTo the duplicated slide to a new position within the collection.

    To "copy" slides from one presentation to another ... with the receiving presentation as the activepresentation use the Slides.InsertFromFile method.

    Hope this helps


    Kind Regards, Rich ... http://greatcirclelearning.com
    • Proposed as answer by Calvin_GaoModerator Wednesday, January 25, 2012 9:07 AM
    • Unproposed as answer by Avlin67 Monday, January 30, 2012 3:29 PM
    Wednesday, January 25, 2012 2:01 AM
  • Slides.InsertFromFile does not copy all of the slide, like background colors or font style.

    Is there a way to insert a slide to another presentation EXACTLY how it appears in original presentation ? I mean like a copy paste from the slide's XML file in presentation file.

     

    I dont ask for another solution, I ask why it works in Ppt 2007 SP2 but not SP3

     

    I ask why just one corrupted Id can corrupts all pictures, and why Powerpoint says me it is a memory issue.

    Wednesday, January 25, 2012 9:02 AM
  • Hi Avlin,

    Thanks for your post.

    Actually, this is known issue of PowerPoint 2007, and the fixing to the issue has been covered within this hotfix:

    http://support.microsoft.com/kb/948943

    I hope this helps


    Calvin Gao[MSFT]
    MSDN Community Support | Feedback to us
    Wednesday, January 25, 2012 9:11 AM
    Moderator
  • already tried !

    "The expected version of the product was not found on the system."

    I have 2007 SP3, KB948943 was intended prior to SP2, since SP2 include this fix.

     

     

    Thanks

    Wednesday, January 25, 2012 10:00 AM