Macro VBA word
Résolu
manu7762323
Messages postés
11
Statut
Membre
-
phil_232 Messages postés 286 Statut Membre -
phil_232 Messages postés 286 Statut Membre -
Bonjour,
Je suis débutant en macro word.
On m'a demandé, à partir d'un document word avec beaucoup de texte et d'images, de développer une macro permettant de sauvegarder toutes les images du document dans un dossier et de les zipper, puis de remplacer dans le texte chaque image par un code du type %ATTACH%/image00x.jpg avec x le n° des images du document dans l'ordre.
Explication : il s'agit de migrer des documents word sur un TWiki. Pour cela, il faut uploader les images en zip sur le wiki. Elles seront nommés par exemple image001.jpg, image002.jpg, image003.jp, etc... et dans le document, le code wiki pour afficher ces images dans l'ordre sera %ATTACH%/image001.jpg, puis %ATTACH%/image002.jpg, etc...
J'espère avoir été assez clair.
Merci d'avance pour votre aide.
Je suis débutant en macro word.
On m'a demandé, à partir d'un document word avec beaucoup de texte et d'images, de développer une macro permettant de sauvegarder toutes les images du document dans un dossier et de les zipper, puis de remplacer dans le texte chaque image par un code du type %ATTACH%/image00x.jpg avec x le n° des images du document dans l'ordre.
Explication : il s'agit de migrer des documents word sur un TWiki. Pour cela, il faut uploader les images en zip sur le wiki. Elles seront nommés par exemple image001.jpg, image002.jpg, image003.jp, etc... et dans le document, le code wiki pour afficher ces images dans l'ordre sera %ATTACH%/image001.jpg, puis %ATTACH%/image002.jpg, etc...
J'espère avoir été assez clair.
Merci d'avance pour votre aide.
A voir également:
- Macro VBA word
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Word et excel gratuit - Guide
- Espace insécable word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
3 réponses
c'est un projet assez ambitieux. je vais donc pas te fournir un programme. seulement autant : les images se trouvent dans word dans un objet InlineShape.
ajoutes qq images dans un doc word avant éxécution
Sub GetImages()
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
MsgBox SH.Type
Next
End Sub
ajoutes qq images dans un doc word avant éxécution
Sub GetImages()
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
MsgBox SH.Type
Next
End Sub
Ok merci...
Donc la si je comprends bien, ce code permet de trouver les images dans le document. J'ai écris un petit quelque chose pour remplacer les images trouvées par du texte mais je pense que je m'y prend très mal vu que je n'y connais rien...
Sub GetImagesAndReplaceWithText()
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
MsgBox SH.Type
With Selection.Find
.ActiveDocument.InlineShapes
.Replacement.Text = "TEST de remplacement"
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
Quelqu'un pourrait m'aiguiller ?merci d'avance !
Donc la si je comprends bien, ce code permet de trouver les images dans le document. J'ai écris un petit quelque chose pour remplacer les images trouvées par du texte mais je pense que je m'y prend très mal vu que je n'y connais rien...
Sub GetImagesAndReplaceWithText()
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
MsgBox SH.Type
With Selection.Find
.ActiveDocument.InlineShapes
.Replacement.Text = "TEST de remplacement"
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
Quelqu'un pourrait m'aiguiller ?merci d'avance !
Sub GetImagesAndReplaceWithText()
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
'MsgBox SH.Type pas besoin, c'était juste pour faire qq chose dans la boucle
With Selection.Find ' tu n'as pas fait Select, donc rien n'est sélectionné
.ActiveDocument.InlineShapes ' superflu car tu vas déjà chercher toutes les images
.Replacement.Text = "TEST de remplacement"
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
Dim SH As InlineShape
MsgBox ActiveDocument.InlineShapes.Count
For Each SH In ActiveDocument.InlineShapes
'MsgBox SH.Type pas besoin, c'était juste pour faire qq chose dans la boucle
With Selection.Find ' tu n'as pas fait Select, donc rien n'est sélectionné
.ActiveDocument.InlineShapes ' superflu car tu vas déjà chercher toutes les images
.Replacement.Text = "TEST de remplacement"
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub