VBA 只读文件修改范围内的 Word 原始文本

VBA Word original text on revised range on readonly files

我正在创建一个 VBA 工具来记录(用于 QA 目的)翻译文件的修订。

我可以逐段阅读原文和修改后的文字。

但我 运行 每次无法写入文件(由其他人打开或未正确关闭)时都会遇到问题。

由于宏会 运行 很长时间,所以这是一个问题。我可以解决这个问题,但我的客户可能无法遵循该程序。

有没有办法只读原文而不修改文件?

真觉得应该有办法。我搜索了一种方法来将范围复制到一个虚拟对象中,然后对那个新的范围进行反向修订,但没有这样的运气。

我真的只是在做

set wrdApp=CreateObject("Word.Application")
set wrdDoc=wrdApp.Documents.Open(filePath)

for each par in wrdDoc.Paragraphs
    if par.Range.Revisions.Count <> 0 then
        dim original, revised as String

        revised=par.Range.Text
        par.Range.Revisions.RejectAll
        original=par.Range.Text

        ProcessRevision original, revised
    End if
next

谢谢!

自己回答,归根结底是做不到。我 运行 遇到了其他一些问题,在拒绝修改后不得不撤消更改,但除非我有写权限,否则我还是做不到。

我确保文件未在某处打开的解决方案是在阅读之前复制文件。

很郁闷,一个清晰的读操作(获取原文)需要写权限

如果我找到其他解决方案,我一定会post这里。