OVH Cloud OVH Cloud

Modifier en raffale un logo dans plusieurs doc word

4 réponses
Avatar
Razmote
Bonjour,

Nous avons des milliers de doc word97 avec le logo de notre société dans l
entete de page.

Notre logo vient de changer, il faudrait que je le remplace dans tout ces
documents...

Quelqu un m avait passé ce petit bout de vb, mais ça ne marche pas,
impossible de connaitre le nom de l objet image...

Merci d avance pour votre aide...

A +
_____________________________________________________________________________________
Sub ReplacePicture(WhereIsPicture As String)
Dim obj As Shape
' Cette Macro Détruit l'image ("Picture 3") sans lien et Insere l'image
défine par l'argument WhereIsPicture
With ActiveDocument.ActiveWindow.View
.SeekView = wdSeekCurrentPageFooter
End With
On Error GoTo GestErr
ErrSw = False

For Each obj In Selection.HeaderFooter.Shapes
MsgBox obj.Name
Next
Selection.HeaderFooter.Shapes("TextBox 1").Delete
If ErrSw = False Then
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.InlineShapes.AddPicture FileName:=WhereIsPicture,
LinkToFile:=True, SaveWithDocument:=True
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End If
GoTo fin
GestErr:
Err.Source = "ReplacePicture"
ErrSw = True
Resume Next
fin:
End Sub

4 réponses

Avatar
Anacoluthe
Bonjour !

'Razmote' nous a écrit ...
Quelqu un m avait passé ce petit bout de vb, mais ça ne marche pas


M'est avis qu'on s'est un peu moqué de vous... :-D
Cette procédure - ce n'est pas une macro, elle demande un argument -
bricolée et commentée de façon fantaisiste affiche le pied de page
d'un document, puis affiche les noms des formes flottantes de
l'en-tête ou pied de page sélectionné (autant dire rien du tout
si rien n'est sélectionné avant cette proc), puis affiche l'en-tête (!)
puis supprime une zone de texte flottante appelée 'TextBox 1', puis
insère une image alignée (non flottante) et liée. Cette procédure
a toutes les chances de générer quarante douze erreurs mais une
gestion d'erreur est là pour qu'on n'y voit rien !!

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »

Avatar
Razmote
Re,

Cette procédure marche a merveille je l ai essayé il y a 2 ans.. le probleme
c est je n ai plus le code que j avais modifié a l époque alors j ai
ressorti celui de départ.
Maintenant je n arrive plus a le faire marcher...
Merci quand meme...

J ai tout le code complet, avec les arguments a passer.

A +
"Anacoluthe" a écrit dans le message de news:
O$
Bonjour !

'Razmote' nous a écrit ...
Quelqu un m avait passé ce petit bout de vb, mais ça ne marche pas


M'est avis qu'on s'est un peu moqué de vous... :-D
Cette procédure - ce n'est pas une macro, elle demande un argument -
bricolée et commentée de façon fantaisiste affiche le pied de page
d'un document, puis affiche les noms des formes flottantes de
l'en-tête ou pied de page sélectionné (autant dire rien du tout
si rien n'est sélectionné avant cette proc), puis affiche l'en-tête (!)
puis supprime une zone de texte flottante appelée 'TextBox 1', puis
insère une image alignée (non flottante) et liée. Cette procédure
a toutes les chances de générer quarante douze erreurs mais une
gestion d'erreur est là pour qu'on n'y voit rien !!

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »



Avatar
Circé
Bonjour,

Ton image elle est flottante ou alignée sur le texte ?... En d'autres
mots, c'est shape ou inlineshape ?

Circé
mvp word
http://faqword.free.fr

Razmote vient de nous annoncer :
Re,

Cette procédure marche a merveille je l ai essayé il y a 2 ans.. le probleme
c est je n ai plus le code que j avais modifié a l époque alors j ai ressorti
celui de départ.
Maintenant je n arrive plus a le faire marcher...
Merci quand meme...

J ai tout le code complet, avec les arguments a passer.

A +
"Anacoluthe" a écrit dans le message de news:
O$
Bonjour !

'Razmote' nous a écrit ...
Quelqu un m avait passé ce petit bout de vb, mais ça ne marche pas


M'est avis qu'on s'est un peu moqué de vous... :-D
Cette procédure - ce n'est pas une macro, elle demande un argument -
bricolée et commentée de façon fantaisiste affiche le pied de page
d'un document, puis affiche les noms des formes flottantes de
l'en-tête ou pied de page sélectionné (autant dire rien du tout
si rien n'est sélectionné avant cette proc), puis affiche l'en-tête (!)
puis supprime une zone de texte flottante appelée 'TextBox 1', puis
insère une image alignée (non flottante) et liée. Cette procédure
a toutes les chances de générer quarante douze erreurs mais une
gestion d'erreur est là pour qu'on n'y voit rien !!

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »





Avatar
Clément Marcotte
La question la plus importante à se poser est de savoir pourquoi on
changerait les fichiers antérieurs quand les lettres on sans doute été
inprimées et archivées depuis longtemps. (À moins de vouloir réexpédier les
vieilles lettres avec le nouveau logo et une lettre d'explication sur le
pourquoi de l'envoi de veilles affaires.)

Ou bedon, il y a un patron inutile et tabletté qui essaie de justifier sa
job.


"Razmote" a écrit dans le message de news:
44d1acf2$0$29897$
Bonjour,

Nous avons des milliers de doc word97 avec le logo de notre société dans l
entete de page.

Notre logo vient de changer, il faudrait que je le remplace dans tout ces
documents...

Quelqu un m avait passé ce petit bout de vb, mais ça ne marche pas,
impossible de connaitre le nom de l objet image...

Merci d avance pour votre aide...

A +
_____________________________________________________________________________________
Sub ReplacePicture(WhereIsPicture As String)
Dim obj As Shape
' Cette Macro Détruit l'image ("Picture 3") sans lien et Insere l'image
défine par l'argument WhereIsPicture
With ActiveDocument.ActiveWindow.View
.SeekView = wdSeekCurrentPageFooter
End With
On Error GoTo GestErr
ErrSw = False

For Each obj In Selection.HeaderFooter.Shapes
MsgBox obj.Name
Next
Selection.HeaderFooter.Shapes("TextBox 1").Delete
If ErrSw = False Then
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.InlineShapes.AddPicture FileName:=WhereIsPicture,
LinkToFile:=True, SaveWithDocument:=True
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End If
GoTo fin
GestErr:
Err.Source = "ReplacePicture"
ErrSw = True
Resume Next
fin:
End Sub