2010-07-29 85 views
2

我有一堆需要編輯的文檔。作者在文檔的某些部分使用藍色文本來表明這些詞需要鏈接。如何自動高亮顯示和提取MS Word中的彩色文本?

謝謝科尼利厄斯的亮點文本代碼:

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 

我想就這個問題展開。是否可以僅將突出顯示的文本提取到新的單詞文件中?還應該足夠聰明地知道,一個句子中的兩個或更多連續單詞將全部出現在新文檔的一行中,而不是每個單詞在新文檔中都有自己的行。我認爲它可以查找所有突出顯示的選擇,並且只會將這些文字整個區域的文本完全突出顯示。

+1

您應該開放一個新的問題,因爲它與您已經回答的原始問題有點不同。 – 2010-08-02 21:30:19

回答

1

我帶着類似的東西來。它突出顯示活動文檔中的所有非黑色和非自動字符。

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

感謝您的幫助! 我想知道你是否也知道如何讓它忽略超鏈接文本。 最後,如果有一個宏將高亮顯示的單詞提取到單獨的文件中,每個突出顯示的選擇單獨放在文件中,這將是非常好的選擇。 我可能會要求太多,但在這方面展開會很棒! – Vlad 2010-08-02 14:23:34

1

嗨,這是您的完美解決方案。 我已經寫了這個宏代碼並進行了測試。 http://blog.haneefputtur.com/2012/02/macro-to-extract-highlighted-words-from.html

+0

歡迎來到Stack Overflow!您不應該僅僅給出另一個網站的鏈接作爲答案,因爲該網站將來可能會過時。相反,單擊此答案上的「編輯」鏈接,並在此處包含解決方案的主要部分。請參閱:http://meta.stackexchange.com/q/8259 – 2012-02-23 07:16:58