Modifier lien hypertext word depuis Excel

Bonjour,

Je cherche à faire une macro pour modifier dans un fichier word (au format .htm mais qui s'ouvre dans Word) des liens hypertext.

Le but est de :

  • Trouver les chaînes de caractères qui possèdent un lien hypertext
  • Modifier ce texte et le lien hypertexte (ce qui m’intéresse c'est la mise en page de cette chêne et ça position dans le document)
  • Sauver et quitter

Pour le moment j'essaie de récupérer les liens hypertextes mais je n'y arrive pas depuis excel.

J'ai essayé depuis word et ça fonction avec ce code :

Sub qSolution()

    Dim HL As Hyperlink
    For Each HL In ActiveDocument.Hyperlinks
        Debug.Print HL.Range.Text
        Debug.Print HL.Address
    Next
End Sub

Et dans Excel je ne peux pas utiliser de variable hyperlink car sinon j'ai un problème de compatibilité

Sub ListeLiens()

  Sub ListeLiens()

    Dim hlien As Hyperlink
    Dim wordapp As Object
    Dim pathHtm As String
    Dim WordDoc As Word.Document
    Dim wordHyperlinks As Collection
    Dim htmFile As String
    Dim i As Integer

    pathHtm = "C:\Users\100786184\Documents\Test export\PPT\"
    htmFile = "EN10 - PPR Session Preparation for mBOM HL.htm"

  ' Création d'un nouveau document :

    If IsFileOpen(pathHtm & htmFile) = True Then
    Set wordapp = Word.Application
    Set WordDoc = wordapp.Documents(pathHtm & htmFile)
    Else
    Set wordapp = New Word.Application
    wordapp.Visible = True
    Set WordDoc = wordapp.Documents.Open(pathHtm & htmFile)
    End If
  ' Ecriture d'un petit texte dans ce nouveau document :
 Debug.Print WordDoc.Hyperlinks.Count

    For i = 1 To WordDoc.Hyperlinks.Count - 1 'WordDoc.Hyperlinks
    Debug.Print TypeName(WordDoc.Hyperlinks.Item(i))
    'Set hlien = WordDoc.Hyperlinks.Item(i)
        With hlien
        Debug.Print WordDoc.Hyperlinks.Item(i).Range.Text
        Debug.Print WordDoc.Hyperlinks.Item(i).Address
        End With
    Next i

 ' wordapp.ActiveDocument.Close
 Set WordDoc = Nothing
  Set wordapp = Nothing
End Sub

C'est la variable hlien qui ne fonction pas et je ne sais pas pourquoi.

Voila si vous avez une idée ?

Merci

Bonjour,

ce code me parait plus adéquat

    ' Ecriture d'un petit texte dans ce nouveau document :
    Debug.Print WordDoc.Hyperlinks.Count

    For Each hlien In WordDoc.Hyperlinks
        With hlien
            Debug.Print .Name
            Debug.Print .Range.Text
            Debug.Print .Address
        End With
    Next hlien

Bonjour,

J'ai essayé le code mais de la même manière j'ai une incompatibilité de type

       
Sub test()
Dim oldName As String
Dim i As Integer
Dim hlien As Hyperlink
pathHtm = Excel.ActiveWorkbook.Path & "\Htm"

htmFile = "\EN00 - template.htm"

If IsFileOpen(pathHtm & htmFile) = True Then
    Set wordapp = Word.Application
    Set WordDoc = wordapp.Documents(pathHtm & htmFile)
Else
    Set wordapp = New Word.Application
    wordapp.Visible = True
    Set WordDoc = wordapp.Documents.Open(pathHtm & htmFile)
End If

Debug.Print WordDoc.Hyperlinks.Count

    For Each hlien In WordDoc.Hyperlinks'message ici
        With hlien
            Debug.Print .Name
            Debug.Print .Range.Text
            Debug.Print .Address
        End With
    Next hlien
End Sub

remplacer

Dim hlien as Hyperlink 

par

Dim hlien as Variant

C'est bon ça fonction merci.

Rechercher des sujets similaires à "modifier lien hypertext word"