2010-07-29 10 views
2

J'ai un tas de documents à modifier. Les auteurs utilisent un texte bleu dans certaines parties des documents pour indiquer que ces mots doivent être liés.Comment puis-je automatiquement mettre en surbrillance et extraire du texte en couleur dans MS Word?

Merci Cornélius pour le code de surligner du texte:

Sub HighlightNotBlack() 
    Dim char As Range 

For Each char In ActiveDocument.Characters 
If char.Font.Color <> wdColorAutomatic And char.Font.Color <> wdColorBlack Then 
    char.HighlightColorIndex = wdYellow 
End If 
Next 
End Sub 

Je voudrais étendre sur cette question. Est-il possible d'extraire uniquement le texte surligné dans un nouveau fichier de mots? Il devrait également être assez intelligent pour savoir que deux mots consécutifs ou plus dans une phrase apparaîtraient tous sur une ligne dans le nouveau document, par opposition à chaque mot ayant sa propre ligne dans le nouveau document. Je suppose qu'il pourrait rechercher toutes les sélections en surbrillance et ne les apporter que parce que tout le bloc de texte serait entièrement mis en évidence

+1

Vous devriez probablement simplement ouvrir une nouvelle question car elle est un peu différente de la question initiale à laquelle vous avez déjà répondu. –

Répondre

1

Je suis venu avec quelque chose comme ça. Il met en évidence tous les caractères non-noirs et non-automatiques dans le document actif.

Sub HighlightNotBlack() 
Dim char As Range 

For Each char In ActiveDocument.Characters 
    If char.Font.Color <> wdColorAutomatic And char.Font.Color <> wdColorBlack Then 
     char.HighlightColorIndex = wdYellow 
    End If 
Next 
End Sub 
+0

Merci pour votre aide! Je me demandais si vous saviez aussi comment faire en sorte qu'il ignore le texte en hyperlien. En fin de compte, ce serait génial d'avoir une macro qui extrait les mots surlignés dans un fichier séparé avec chaque sélection en surbrillance sur sa propre ligne dans le fichier. Je demanderais peut-être trop, mais ce serait formidable d'en parler! – Vlad

1

Salut c'est la solution parfaite pour vous. J'ai écrit ce code de macro et testé. http://blog.haneefputtur.com/2012/02/macro-to-extract-highlighted-words-from.html

+0

Bienvenue dans Stack Overflow! Vous ne devriez pas simplement donner un lien vers un autre site en guise de réponse, car le site pourrait devenir obsolète à l'avenir. Au lieu de cela, cliquez sur le lien "modifier" sur cette réponse et inclure les parties essentielles de la solution de cette page ici. Voir: http://meta.stackexchange.com/q/8259 –

Questions connexes