J'écris une macro VB pour faire un peu de traitement de documents pour mon travail. Les lignes de texte sont recherchées et le texte entre crochets est placé dans une liste (boîte).Comment supprimer des liens hypertexte d'un document Microsoft Word?
Le problème vient quand je veux supprimer tous les liens hypertexte dans le document et générer de nouvelles (pas nécessairement à l'emplacement des liens hypertexte d'origine)
Le problème est de savoir comment puis-je supprimer les liens hypertexte existants?
Mon problème actuel est que chaque fois qu'un lien est ajouté, le nombre d'hyperliens augmente d'un, mais lorsque vous le supprimez, le nombre ne diminue PAS. (par conséquent, j'ai maintenant un document avec 32 liens - tous vides sauf 3 que je mets moi-même - ils n'apparaissent pas dans le document)
A la fin du code sont mes tentatives pour supprimer les hyperliens.
Private Sub FindLinksV3_Click()
ListOfLinks.Clear
ListOfLinks.AddItem Now
ListOfLinks.AddItem ("Test String 1")
ListOfLinks.AddItem ActiveDocument.FullName
SentenceCount = ActiveDocument.Sentences.Count
ListOfLinks.AddItem ("Sentence Count:" & SentenceCount)
counter = 0
For Each myobject In ActiveDocument.Sentences ' Iterate through each element.
ListOfLinks.AddItem myobject
counter = counter + 1
BracketStart = (InStr(1, myobject, "("))
If BracketStart > 0 Then
BracketStop = (InStr(1, myobject, ")"))
If BracketStop > 0 Then
ListOfLinks.AddItem Mid$(myobject, BracketStart + 1, BracketStop - BracketStart - 1)
ActiveDocument.Sentences(counter).Select
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
"http://testnolink/" & counter, ScreenTip:="" 'TextToDisplay:=""
End If
End If
Next
'ActiveDocument.Sentences(1).Select
'
'Selection.Range.Hyperlinks(1).Delete
ActiveDocument.Hyperlinks.Item(1).Delete
Debug.Print ActiveDocument.Hyperlinks.Count
End Sub
D'abord, Merci divo pour corriger le désordre que je fait de l'affichage du code. C'est très apprécié par moi-même. OK, est-ce que je fais trop de transactions avec ActiveDocument.Hyperlinks.Count? (vraiment je veux pouvoir avoir un document principal que je peux coller diverses sources dedans, ceci peut être mis à jour fréquemment) Si je décommente le Selection.Range.Hyperlinks (1). Ligne de ligne il échoue toujours avec une erreur Erreur d'exécution "4198", ce que j'attribue aux liens hypertextes (1) ayant été effacé plus tôt ce matin ... mais mon ActiveDocument.Hyperlinks.Count est maintenant 49, (voir le commentaire ci-dessus est-ce un gros problème?) –