Images liées dans Word

Antik

Membre confirmé
28 Juin 2006
327
8
Ardèche
J’ai, dans un dossier, des documents Word dans lesquels sont insérés des images liées (et non enregistrées). Les images sont, pour certains documents, dans un premier dossier (nommé « Photos-AP »), et pour d’autres dans un second dossier qui n’est pas au même « niveau » (nommé également « Photos-AP »)…
Jusque là tout va bien, mais si je veux bouger les dossiers d’images pour les ranger au même niveau elles disparaissent évidemment de mes documents respectifs !
Comment réafecter le « chemin » de ces images dans les documents Word, pour ne pas tout refaire ?
:confused:
 

Aliboron

Chercheur de son
Modérateur
Club MacG
1 Janvier 2008
14 090
995
Toulouse.cong
faq.office.macintosh.free.fr
Tu ne donnes pas de précisions sur la version de Word concernée. Si c'est Word 2004 (ou précédents) tu peux le faire par Visual Basic, en faisant une macro inspirée de celle là :

Bloc de code:
Sub MonTest()
For Each aHyperlink In ActiveDocument.Hyperlinks
    If aHyperlink.Address = "file://localhost/Users/TonNom/Desktop/TonDossier/Photos-AP/TonImage.jpg" <> 0 Then
        aHyperlink.Address = "file://localhost/Users/TonNom/Desktop/Photos-AP/TonImage.jpg"
    End If
Next aHyperlink
End Sub

Bon, évidemment, c'est juste une base de départ, il faut encore faire en sorte de garder le nom de chaque fichier cible, personnaliser les chemins, tout ça. Je n'ai pas trop le temps là, d'autant moins que je ne sais même pas si ça va t'être utile.

Si c'est Word 2008, donc plus de VBA, tu peux faire à peu près la même chose avec AppleScript (c'est aussi possible avec les versions précédentes, si tu es plus habitué à AppleScript). Peut-être avec Automator aussi mais, là, je ne sais pas du tout, faudrait essayer...
 

Antik

Membre confirmé
28 Juin 2006
327
8
Ardèche
Tu ne donnes pas de précisions sur la version de Word concernée. Si c'est Word 2004 (ou précédents) tu peux le faire par Visual Basic, en faisant une macro inspirée de celle là :

Bloc de code:
Sub MonTest()
For Each aHyperlink In ActiveDocument.Hyperlinks
    If aHyperlink.Address = "file://localhost/Users/TonNom/Desktop/TonDossier/Photos-AP/TonImage.jpg" <> 0 Then
        aHyperlink.Address = "file://localhost/Users/TonNom/Desktop/Photos-AP/TonImage.jpg"
    End If
Next aHyperlink
End Sub

Bon, évidemment, c'est juste une base de départ, il faut encore faire en sorte de garder le nom de chaque fichier cible, personnaliser les chemins, tout ça. Je n'ai pas trop le temps là, d'autant moins que je ne sais même pas si ça va t'être utile.

Si c'est Word 2008, donc plus de VBA, tu peux faire à peu près la même chose avec AppleScript (c'est aussi possible avec les versions précédentes, si tu es plus habitué à AppleScript). Peut-être avec Automator aussi mais, là, je ne sais pas du tout, faudrait essayer...

Word 2001 (!) Je ne connais rien à Visual et juste curieux d'AppleScript… Mais ta réponse m'intéresse si cela peut m'éviter de bidouiller ou tout refaire ! Je veux bien essayer AppleScript…
Merci de ta réponse