Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conversion image et zone de texte

4 réponses
Avatar
DesseJ
Bonjour,

Je cherche =E0 convertir en InlineShapes, les zones de texte d'un
document (Word 2003). J'utilise la macro suivante :
Sub ConversionZoneTexte()
Dim oshape As Shape
For Each oshape In ActiveDocument.Shapes
oshape.ConvertToInlineShape
Next
End Sub
Mais j'ai le message d'erreur "erreur d'ex=E9cution 4120" sur la ligne
oshape.ConvertToInlineShape.

Dans le m=EAme ordre d'id=E9e, je voudrais remplacer les images
pr=E9sentes dans le document en Image Metafichier(Windows), toujours par
VBA. Comment puis-je faire, svp ?

Merci pour votre aide.
Steph. D.

4 réponses

Avatar
Anacoluthe
Bonjour !

'DesseJ' nous a écrit ...
Je cherche à convertir en InlineShapes, les zones de texte d'un
document (Word 2003). J'utilise la macro suivante :
Sub ConversionZoneTexte()
Dim oshape As Shape
For Each oshape In ActiveDocument.Shapes
oshape.ConvertToInlineShape
Next
End Sub
Mais j'ai le message d'erreur "erreur d'exécution 4120" sur la ligne
oshape.ConvertToInlineShape.


Il y a dans votre collection Shapes une Shape avec zone de texte
qu'il n'est pas possible de convertir avec ConvertToInlineShape

Dans le même ordre d'idée, je voudrais remplacer les images
présentes dans le document en Image Metafichier(Windows), toujours par
VBA. Comment puis-je faire, svp ?


Faire un couper (Cut) - coller_spécial (PasteSpecial)
avec un argument DataType:=wdPasteMetafilePicture

Anacoluthe
« La valeur d'une image se mesure à son imaginaire. »
- Gaston BACHELARD

Avatar
DesseJ
Bonsoir

Il y a dans votre collection Shapes une Shape avec zone de texte
qu'il n'est pas possible de convertir avec ConvertToInlineShape


ou je n'ai encore rien compris ;o))) avec la collection Shape. J'ai mis
un petit exemple ici
http://cjoint.com/?iqtZwd28my


Faire un couper (Cut) - coller_spécial (PasteSpecial)
avec un argument DataType:=wdPasteMetafilePicture
Super, merci beaucoup.



Bonne soirée
Steph D.

Avatar
Anacoluthe
Bonjour !

'DesseJ' nous a écrit ...
ou je n'ai encore rien compris ;o))) avec la collection Shape. J'ai mis
un petit exemple ici
http://cjoint.com/?iqtZwd28my


C'est exactement ce que j'ai dit : votre Shape est une zone de texte.
Vous pouvez la convertir manuellement en alignée sur le texte
(dans les dernière versions seulement) mais pas en vba avec
ConvertToInlineShape qui lui est resté aux versions anciennes.

Quand vous passez d'une Shape à une InlineShape vous
/supprimez/ un objet Shape et vous /créez/ un autre objet
InlineShape après avoir mémorisé les propriétés principales
de la Shape.

ConvertToInlineShape est capable de le faire à votre place
SAUF s'il s'agit d'une Shape avec zone de texte.
Vous devez faire une autre zone de texte alignée et y copier
le texte de celle hors texte.

Anacoluthe
« La valeur d'une image se mesure à son imaginaire. »
- Gaston BACHELARD

Avatar
DesseJ
C'est exactement ce que j'ai dit : votre Shape est une zone de texte.
Vous pouvez la convertir manuellement en alignée sur le texte
(dans les dernière versions seulement) mais pas en vba avec
ConvertToInlineShape qui lui est resté aux versions anciennes.


Merci, je viens de comprendre pourquoi la procédure fonctionnait sous
mon W2000 et plus maintenant.
Manuellement non merci ;o))) Je dois proposer des solutions de
présentation de documents, avec un document qui contient un sacré
nombre de zones de textes et il me semblait plus judicieux et facile
pour la présentation de gérer les zones de texte avec un alignement
sur le texte dans des tableaux "invisibles".

Quand vous passez d'une Shape à une InlineShape vous
/supprimez/ un objet Shape et vous /créez/ un autre objet
InlineShape après avoir mémorisé les propriétés principales
de la Shape.
ConvertToInlineShape est capable de le faire à votre place
SAUF s'il s'agit d'une Shape avec zone de texte.
Vous devez faire une autre zone de texte alignée et y copier
le texte de celle hors texte.


Merci pour ces informations. Tant pis pour l'automatisation par Vba.

Bonne soirée
Steph D.