enregistrer une image de word vers le disque dur

fredl

XLDnaute Impliqué
Bonjour à tous,
J'ai un fichier word dans lequel il y a une photo et une seule (voir fichier joint) et je souhaiterai la récupérer en l'enregistrant automatiquement dans un repertoire donné au format Jpg.
J'ai trouvé sur ce forum le moyen de le faire lorsqu'elle est dans un fichier excel et ai donc essayé d'adapter le code en vain (voir code initial ci dessous...)
Si l'un d'entre vous a une idée...ce serai super!

Merci d'avance de vos conseils
//////////////////////////////////////////////////////
Dim x As Byte
Dim Sh As Shape
Dim monImage As String


'Compte le nombre d'objet initial dans la feuille
x = ActiveSheet.Shapes.Count

Application.ScreenUpdating = False
ActiveSheet.Range("A1").Select
'Colle le contenu du presse papier dans la feuille de calcul
ActiveSheet.Paste

'vérifie si le collage effectué correspond à une image
If x = ActiveSheet.Shapes.Count Then
Application.ScreenUpdating = True
MsgBox "Opération annulée"
Exit Function

Else

'Récupère la dernière forme de la feuille
Set Sh = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
'Définit le nom et le lieu de stockage de l'image
monImage = "C:\monImage.jpg"

'Colle l'image dans un graphique
With ActiveSheet.ChartObjects.Add(0, 0, Sh.Width, Sh.Height).Chart
.Paste
'Sauvegarde l'image du graphique au format jpg
.Export monImage, "JPG"
'End With


'Supprime le graphique et la forme.
With ActiveSheet
.ChartObjects(ActiveSheet.ChartObjects.Count).Dele te
.Shapes(ActiveSheet.Shapes.Count).Delete
End With

Application.ScreenUpdating = True
End If
////////////////////////////////////////////////////////////////////////////////////
 

PMO2

XLDnaute Accro
Re : enregistrer une image de word vers le disque dur

Bonjour,

Une piste avec le code suivant à copier dans un module standard du document Word concerné.
Adaptez la constante MON_IMAGE à votre usage.

Code:
Const MON_IMAGE As String = "C:\monImage.jpg"

Sub ExportSaveImage()
Dim ILS As InlineShape
Dim WB As Object  'Excel.Workbook
Dim SH As Shape
For Each ILS In ActiveDocument.InlineShapes
  If ILS.Type = wdInlineShapePicture Then ILS.ConvertToShape
Next ILS
For Each SH In ActiveDocument.Shapes
  If SH.Type = msoPicture Then
    SH.Select
    Selection.Copy
    Selection.Collapse
    Set WB = CreateObject("Excel.Sheet")
    With WB.Sheets(1).ChartObjects.Add(0, 0, SH.Width, SH.Height).Chart
      .Paste
      .Export MON_IMAGE, "jpg"
    End With
    WB.Sheets(1).[a1].Copy
    WB.Application.Quit
    Set WB = Nothing
    Exit For
  End If
Next SH
End Sub

Cordialement.

PMO
Patrick morange
 

fredl

XLDnaute Impliqué
Re : enregistrer une image de word vers le disque dur

Bonjour Patrick,
désolé pour ce délai de réponse.
débordé de taf!
Je viens enfin de trouver le temps de tester ton code : il est parfait!!!
Vraiment meci beaucoup car il répond exactement à mon besoin.
Encore grand merci!!!
Au plaisir
Frédéric.
 

Discussions similaires

Statistiques des forums

Discussions
314 485
Messages
2 110 101
Membres
110 663
dernier inscrit
ToussaintBug