-----Message d'origine-----
Bonjour à tous,
dans le message <647001c377ad$405cb190$,
Pierre-Yves [], a
| Bonjour Nuindacil et les autres aidants éventuels,
|
| Je crois que j'ai trouvé une solution assez simple pour
| résoudre mon problème.
Même si l'on peut s'en passer, c'est effectivement très
simple.
Juste un complément : si le répertoire du document
change, tu es ramené
au problème précédent. Il faut donc faire une macro
automatique à
l'ouverture du document. Je me suis permis de réécrire
cette macro et au
passage j'en ai ajouté une pour lister les liens à la fin
du document.
============
Option Explicit
Sub ListeHyperlink()
Dim aHyperlink, count As Integer, Debut As Long, Fin As
Long
ActiveDocument.Bookmarks("endofdoc").Select
Debut = Selection.Range.Start
Selection.InsertAfter "Lien;Adresse;Sous-adresse"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
For Each aHyperlink In ActiveDocument.Hyperlinks
count = count + 1
Selection.InsertAfter "Hyperlink #" & count & ";"
Selection.InsertAfter aHyperlink.Address & ";"
Selection.InsertAfter aHyperlink.SubAddress & ";"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
Next aHyperlink
Selection.Collapse wdCollapseEnd
Fin = Selection.Range.End
ActiveDocument.Range(Debut, Fin).Select
Selection.ConvertToTable ";", count, 3
ActiveDocument.Tables(1).AutoFormat
Format:=wdTableFormatGrid8,
AutoFit:=True
End Sub
Sub AutoOpen()
'Macro écrite par Pierre-Yves Jamoulle
'Impérativement éxécutée au démarrage, le répertoire peut
avoir changé
Dim Lien As Hyperlink
For Each Lien In ActiveDocument.Hyperlinks
'Les liens locaux ont normalement une adresse vide
'et une sous-adresse non vide.
If Lien.SubAddress <> "" Then
'On ne peut travailler que sur SubAddress : le lien a
peut-être été
modifié.
'Pour conserver l'indépendance par rapport à
Fichier/Propriétés/Répertoire Web
'on met le chemin absolu dans l'adresse.
Lien.Address = ActiveDocument.FullName
End If
Next Lien
End Sub
Au suivant ... avec une question subsidiaire : que se
passe-t'il si les
répertoires sont des répertoires réseau (je suis ignare
en la matière) ?
============
--
A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de
pire en pire. Se
faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
.
-----Message d'origine-----
Bonjour à tous,
dans le message <647001c377ad$405cb190$a501280a@phx.gbl>,
Pierre-Yves [pierre.yves.jamoulle@saaq.gouv.qc.ca], a
| Bonjour Nuindacil et les autres aidants éventuels,
|
| Je crois que j'ai trouvé une solution assez simple pour
| résoudre mon problème.
Même si l'on peut s'en passer, c'est effectivement très
simple.
Juste un complément : si le répertoire du document
change, tu es ramené
au problème précédent. Il faut donc faire une macro
automatique à
l'ouverture du document. Je me suis permis de réécrire
cette macro et au
passage j'en ai ajouté une pour lister les liens à la fin
du document.
============
Option Explicit
Sub ListeHyperlink()
Dim aHyperlink, count As Integer, Debut As Long, Fin As
Long
ActiveDocument.Bookmarks("endofdoc").Select
Debut = Selection.Range.Start
Selection.InsertAfter "Lien;Adresse;Sous-adresse"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
For Each aHyperlink In ActiveDocument.Hyperlinks
count = count + 1
Selection.InsertAfter "Hyperlink #" & count & ";"
Selection.InsertAfter aHyperlink.Address & ";"
Selection.InsertAfter aHyperlink.SubAddress & ";"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
Next aHyperlink
Selection.Collapse wdCollapseEnd
Fin = Selection.Range.End
ActiveDocument.Range(Debut, Fin).Select
Selection.ConvertToTable ";", count, 3
ActiveDocument.Tables(1).AutoFormat
Format:=wdTableFormatGrid8,
AutoFit:=True
End Sub
Sub AutoOpen()
'Macro écrite par Pierre-Yves Jamoulle
'Impérativement éxécutée au démarrage, le répertoire peut
avoir changé
Dim Lien As Hyperlink
For Each Lien In ActiveDocument.Hyperlinks
'Les liens locaux ont normalement une adresse vide
'et une sous-adresse non vide.
If Lien.SubAddress <> "" Then
'On ne peut travailler que sur SubAddress : le lien a
peut-être été
modifié.
'Pour conserver l'indépendance par rapport à
Fichier/Propriétés/Répertoire Web
'on met le chemin absolu dans l'adresse.
Lien.Address = ActiveDocument.FullName
End If
Next Lien
End Sub
Au suivant ... avec une question subsidiaire : que se
passe-t'il si les
répertoires sont des répertoires réseau (je suis ignare
en la matière) ?
============
--
A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de
pire en pire. Se
faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
.
-----Message d'origine-----
Bonjour à tous,
dans le message <647001c377ad$405cb190$,
Pierre-Yves [], a
| Bonjour Nuindacil et les autres aidants éventuels,
|
| Je crois que j'ai trouvé une solution assez simple pour
| résoudre mon problème.
Même si l'on peut s'en passer, c'est effectivement très
simple.
Juste un complément : si le répertoire du document
change, tu es ramené
au problème précédent. Il faut donc faire une macro
automatique à
l'ouverture du document. Je me suis permis de réécrire
cette macro et au
passage j'en ai ajouté une pour lister les liens à la fin
du document.
============
Option Explicit
Sub ListeHyperlink()
Dim aHyperlink, count As Integer, Debut As Long, Fin As
Long
ActiveDocument.Bookmarks("endofdoc").Select
Debut = Selection.Range.Start
Selection.InsertAfter "Lien;Adresse;Sous-adresse"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
For Each aHyperlink In ActiveDocument.Hyperlinks
count = count + 1
Selection.InsertAfter "Hyperlink #" & count & ";"
Selection.InsertAfter aHyperlink.Address & ";"
Selection.InsertAfter aHyperlink.SubAddress & ";"
Selection.InsertParagraphAfter
Selection.Collapse wdCollapseEnd
Next aHyperlink
Selection.Collapse wdCollapseEnd
Fin = Selection.Range.End
ActiveDocument.Range(Debut, Fin).Select
Selection.ConvertToTable ";", count, 3
ActiveDocument.Tables(1).AutoFormat
Format:=wdTableFormatGrid8,
AutoFit:=True
End Sub
Sub AutoOpen()
'Macro écrite par Pierre-Yves Jamoulle
'Impérativement éxécutée au démarrage, le répertoire peut
avoir changé
Dim Lien As Hyperlink
For Each Lien In ActiveDocument.Hyperlinks
'Les liens locaux ont normalement une adresse vide
'et une sous-adresse non vide.
If Lien.SubAddress <> "" Then
'On ne peut travailler que sur SubAddress : le lien a
peut-être été
modifié.
'Pour conserver l'indépendance par rapport à
Fichier/Propriétés/Répertoire Web
'on met le chemin absolu dans l'adresse.
Lien.Address = ActiveDocument.FullName
End If
Next Lien
End Sub
Au suivant ... avec une question subsidiaire : que se
passe-t'il si les
répertoires sont des répertoires réseau (je suis ignare
en la matière) ?
============
--
A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de
pire en pire. Se
faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
.