【问题标题】:Merge Microsoft Word documents with TortoiseSVN使用 TortoiseSVN 合并 Microsoft Word 文档
【发布时间】:2011-01-30 07:42:53
【问题描述】:

TortoiseSVN 有一个很好的 VBA 脚本,它允许使用 Word 内置的更改跟踪功能合并 Microsoft Word 文档。这样,当我将分支中的更改合并到主干时,我可以解决 Word 文档中的冲突。

但是,该功能并没有它应有的用处,因为它不跟踪修订更改;它只是将两个文档作为一个整体进行比较。这样,当我合并一个在文档中添加了一个段落的修订时,我不会审查这一段。相反,我必须查看源文档和目标文档之间的所有差异(包括 TOC 书签名称等内容)。

这是我无法覆盖的固有限制吗?还是因为我的 Word 版本太旧了? (我使用的是 Word 2002)。

另外,如果你知道魔法工具或插件... ;-)

【问题讨论】:

    标签: svn tortoisesvn ms-word


    【解决方案1】:

    如果您想忽略对 TOC 的修改,您可以修补差异脚本,以便自动接受 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();    
    }
    

    【讨论】:

    • 不错的把戏。 TOC 只是一个例子,但它绝对是最令人讨厌的差异之一。可以扩展到页眉和页脚吗?即使所有页面都相同,但每个页面似乎都算作单独的更改。
    • 当我解决冲突时,我仍然在 TOC 旁边看到大量“字段代码已更改”注释。我也必须更改 merge-doc.js 脚本吗?
    • 是的,您可能还需要更改该脚本。是的,可以将补丁扩展到页眉和页脚。原则上,您必须遍历页眉/页脚并接受所有更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多