2013-04-09 54 views
1

我想寫當用戶點擊保存,顯示彈出一個宏(我把它作爲子的FileSave())如果文檔中包含的任何突出。到目前爲止,所有消息框都能很好地工作。不幸的是,我無法弄清if語句使用哪些條件來檢查文檔是否包含突出顯示。Word宏以確定文件是否含有突出

誰能幫我用VBA的這幾行?

回答

0

您只需通過這種方式文檔內容中搜索突出顯示的文本:

Sub SearchAnyHighlight() 

Dim hiliRng As Range 
Set hiliRng = ActiveDocument.Content 

With hiliRng.Find 
    .Highlight = True 
    .Execute 
End With 

If hiliRng.Find.Found Then 
    'to inform that something was found 
    MsgBox "You can't close Active Document" 
    'to remove all highlighted area <-- added after edition 
    With hiliRng.Find 
     .Replacement.Highlight = False 
     .Execute "", Replace:=wdReplaceAll, Forward:=True, _ 
      ReplaceWith:="", Format:=True 
    End With 
End If 

End Sub 
+0

謝謝!太棒了。 – user2259920 2013-04-09 16:02:02

+0

快速提問 - 所以如果我想刪除所有高光,使用.Forward = True的代碼會刪除除第一個之外的所有其他亮點。我認爲這是因爲在查找中選擇了第一個高光。我怎樣才能確保它恢復並刪除那個呢? – user2259920 2013-04-09 16:02:44

+0

@ user2259920,請參閱答案中的擴展代碼...它刪除所有亮點,包括第一個亮點。如果你仍然很開心,請記住將問題標記爲已解決... – 2013-04-09 16:26:30

相關問題