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
////////////////////////////////////////////////////////////////////////////////////
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
////////////////////////////////////////////////////////////////////////////////////