2015-04-23 89 views
-1

我正在創建一個VBA工具來記錄(用於QA目的)翻譯文件的修訂版。只讀文件上的修訂範圍VBA Word原始文本

我可以閱讀原始文本和修訂文本,我可以逐段閱讀。

但每遇文件無法寫入(由別人打開或未正確關閉),我都會遇到問題。

由於宏將運行很長時間,這是一個問題。我可以解決這個問題,但我的客戶可能無法遵循這個程序。

沒有辦法只讀原始文本而不必修改文件?

真的覺得應該有辦法。我希望有一種方法可以將範圍複製到一個虛擬物體中,然後對新物體進行修改,但沒有這樣的運氣。

我真的只是在做

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 

謝謝!

+0

作爲供參考,我幾乎將解決方案從VBA中移出來用IFILTER讀取內容(我正在做更多的檢查而不僅僅是修訂),但是我最終無法修改的一個原因是......在字之外我不認爲你可以得到修改/原始文本。 – RSinohara

回答

0

回答我自己,底線是不能做到的。我遇到一些其他問題,必須在拒絕修改後撤消更改,但除非擁有寫入權限,否則我仍然無法完成這些更改。

我的解決方案,以確保文件沒有打開的地方是在閱讀之前複製文件。

令人沮喪的是,清晰讀取操作(獲取原始文本)需要寫入權限。

如果我找到另一個解決方案,我一定會在這裏發佈。

相關問題