1 pièce(s) jointe(s)
Ecrire en append un hyperlink dans word
Bonjour à tous,
Depuis ma VBA Excel, je créé un fichier Word dans lequel j'ajoute du texte. Mon souci est que ce texte doit être en "hyperlink" et surtout s'ecrire en append a chaque fois... Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Sub Test()
'Déclaration des variables
Dim nom As String
Dim NomDoc As String
Dim Chemin As String
Dim appWD As Word.Application
Dim oDoc As Word.Document
'Initialisatoion variables
nom = "ListeLiens"
NomDoc = nom & ".doc"
'Vérification du nom pour etre sur qu'il n'est pas vide
If Len(nom) = 1 Then
MsgBox ""
Exit Sub 'si la ligne ne contient ni nom ni prénom on quitte
End If
'On indique le dossier d'enregistrement du .doc
Chemin = "P:\" & NomDoc
On Error Resume Next
'On créer l'objet et on vérifie sont existance
Set appWD = CreateObject("Word.Application")
If Err.Number <> 0 Then
Set appWD = CreateObject("Word.Application")
End If
'On repart du début si erreur
On Error GoTo 0
'On vérifie que le chemin existe et on ouvre le document
If Dir(Chemin) <> "" Then
Set oDoc = appWD.Documents.Open(Chemin)
Else
'On ecrit dans le document
Set oDoc = appWD.Documents.Add
With oDoc
With .Sections(1).Range
.Font.Bold = True 'en gras
.Font.Italic = True 'en italique
.Text = "TATA"
.InsertAfter vbLf & "TOTO "
.Hyperlinks.Add Anchor:=.Sections(1).Last.Range, _
Address:="http://toto.com", _
ScreenTip:="totobulle", _
TextToDisplay:="totolink"
End With
.SaveAs Chemin
End With
End If
appWD.Visible = True
appWD.Activate
End Sub |
J'ai essayé de réécrire cette ligne "Anchor:=.Sections(1).Last.Range" de la façon suivante : ".Hyperlinks.Add Anchor:=Sections(1).Range.End".
Bref cela ne fonctionne pas... J'ai un message d'erreur me disant que ce qui est écrit dans "Anchor" est faux. Le message d'erreur est :
Pièce jointe 381351
Si je change la ligne par ".Hyperlinks.Add Anchor:=.Sections(1).Range" alors cela fonctionne mais m'écrase les premières lignes saisies.
Avez-vous une solution s'il-vous-plaît ?