Word VBA刪除大文檔(長文檔)重複標題段落
一、刪除重複段落常用方法
有一些word文檔存在許多重複的內容需要去除。人工查找這些重複的內容,不僅費時費力,而且很可能不能做到完全去重,所以要找到一些快速批量去除重複的辦法。
在word中刪除重複段落的方法,在網路上有很多,一般都是寫正則表達式。具體做法如下:
(1)Ctrl+H調出查找和替換對話框,勾選「使用通配符」
查找內容:^13(?*^13)(*)1
替換:^p12
連續或非連續的重複段落均可去除,保留的是重複段落中第一個出現的段落。替換前將游標置於文檔最開始的位置,需要點擊「全部替換」多次,直到提示「0處替換」即可。
(2)Ctrl+H調出查找和替換對話框,勾選「使用通配符」
查找內容:^13(?*^13)1
替換:^p1
這可以去除連續的重複段落,保留的是重複段落中第一個出現的段落。替換前將游標置於文檔最開始的位置,需要點擊「全部替換」多次,直到提示「0處替換」即可。
如果確定文檔的重複段落是連續的,那麼可以使用方法(2)進行去除,運行速度會比較快;如果不確定,就用方法(1)。
以上方法對付小文檔還是可以的,如果遇上百萬字的大文檔,就不太好用了。
二、大文檔去除重複段落
一些大文檔,大幾百頁,一百多萬字。普通的辦公電腦,使用上述方法進行去除,word程序將會長時間不響應,那個圈圈一直在轉。況且要點擊替換多次,時間就更長了。甚至程序直接崩潰。
前幾天就碰到一個這樣的文檔,有868頁,1171600字,直接用上述方法進行去除重複段落,幾次嘗試之後,都以無法忍受word長時間不響應而告終。
後來,觀察文檔,發現重複的段落都是以字元串「<目錄>」開始的。這些段落其實就是文檔中每篇文章的標題。如果把所有以「<目錄>」開始的段落設置為標題1樣式後,可以在導航窗格中看到這個文檔的結構圖,如下圖所示。這樣的標題一共有746個,分布在文檔各處。
TAG:MicrosoftWord | VBA | Office文檔 |