2010-03-22 155 views
8

TortoiseSVN有一個很好的VBA腳本,允許使用Word內置更改跟蹤功能合併Microsoft Word文檔。這樣,當我將分支中的更改合併到主幹時,我可以解決Word文檔中的衝突。合併Microsoft Word文檔與TortoiseSVN

但是,該功能並不像它那樣有用,因爲它不會跟蹤修訂更改;它只是比較兩個文件作爲一個整體。這樣,當我合併一個段落被添加到文檔的修訂版本時,我不會提供這個段落的評論。相反,我必須檢查源文檔和目標文檔之間的所有差異(包括諸如TOC書籤名稱之類的內容)。

它是我不能重寫的固有限制嗎?或者是由於我的Word版本很老? (我正在使用Word 2002)。

另外,如果你知道一個神奇的工具或插件... ;-)

回答

3

如果你想忽略修改的TOC,你可以修補DIFF-腳本,以便在TOC修訂被自動接受。

你可以例如在比較文檔顯示之前在文件diff-doc.js中插入以下行:

var toc; 
var i; 

for (i = 1; i <= word.ActiveDocument.TablesOfContents.Count; i++) 
{ 
    toc = word.ActiveDocument.TablesOfContents(i); 
    toc.Range.Revisions.AcceptAll();  
} 
+0

好戲。 TOC只是一個例子,但它是最令人討厭的差異之一。它可以擴展到頁眉和頁腳嗎?儘管它們對於所有頁面都是相同的,但每個頁面似乎都被視爲單獨的更改。 – 2010-03-22 12:45:23

+0

當我解決衝突時,我仍然在TOC旁邊看到一個數字爲「Field code changed」的記錄。我必須更改merge-doc.js腳本嗎? – 2010-03-22 13:12:06

+0

是的,你可能需要改變那個腳本。是的,可以將補丁擴展到頁眉和頁腳。原則上,您必須遍歷頁眉/頁腳並接受所有更改。 – 2010-03-22 13:17:54