2010-07-05 7 views
2

Comment puis-je extraire toutes les images d'un fichier PowerPoint à l'aide de COM?Extraire toutes les images de PowerPoint à l'aide de COM

+0

simplement plagié du web: http http://visualbasic.ittoolbox.com/groups/technical-functional/visualbasic-l/export-msoshapetype-msolinkedoleobject-from-powerpoint-47712 : //msdn.microsoft.com/en-us/library/aa201189 http://msdn.microsoft.com/en-us/library/aa201366 PictureFormat et OLEFormat pour chaque ImageShape Dans ActiveSheet.Shapes 'fait quelque chose à la forme (peut-être assurez-vous que c'est une image? Next ImageShape – rwong

Répondre

2

Eh bien, il y a deux façons. L'un d'eux est pour PowerPoint 2007 et 2010 seulement. Mais:

  1. Ce n'est pas COM - vous suffit d'ouvrir le fichier comme zip et aller à la/les médias dossier, puis vous avez accès à toutes les images.
  2. Ce sont les images brutes, pas les images que PowerPoint si rend que vous avez une demande affecte les (comme Luminosité/Contraste, Recolorier, etc.).

Le chemin dans COM est à travers une fonctionnalité dépréciée appelée Shape.Export. Pour avoir accès à son Intellisense, vous devez choisir "Afficher les membres masqués" dans le VBE (en supposant que vous utilisiez VBA pour cela). Voici le code pour l'utiliser:

Sub SaveAllPictures() 
    Dim ap As Presentation: Set ap = ActivePresentation 
    Dim savePath As String 
    savePath = "C:\Users\me\Desktop\files\" 
    Dim i As Integer 
    Dim sl As Slide 
    Dim sh As Shape 
    For Each sl In ap.Slides 
     For Each sh In sl.Shapes 
      If sh.Type = msoPicture Then 
       sh.Export PathName:=savePath & sh.Name & CStr(i) & ".png", Filter:=ppShapeFormatPNG 
       i = i + 1 
      End If 
     Next 
    Next 
End Sub 
+0

ce look super, mais je ne peux pas le tester !!, la fonction d'exportation (sh.Export) n'est pas pris en charge, j'importe Microsoft.Office.Interop.PowerPoint version 15, tout indice s'il vous plaît ?? –

Questions connexes