Word (VBA)

Word VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Word 2013)
変更履歴の取得
投稿日時: 17/11/29 16:57:36
投稿者: ストロベリー

Wordの変更履歴を取得しています。
 

  For i = 1 To ActiveDocument.Revisions.Count
    
    Application.StatusBar = "Processing revisions" & i & "/" & ActiveDocument.Revisions.Count
    DoEvents
    
    Set rev = ActiveDocument.Revisions.Item(i)
    
    tmpRevOut.pageNum = rev.Range.Information(wdActiveEndPageNumber)
    tmpRevOut.startLineNum = rev.Range.Information((wdFirstCharacterLineNumber))
    tmpRevOut.author = rev.author
    tmpRevOut.revType = rev.Type
    tmpRevOut.txt = rev.Range.Text
    Set tmpRevOut.rev = rev
    
  Next
	

 
@変更履歴を取得している間、変更履歴の総数が変わってしまいます
 
例えば、最初は569個で、数個変更履歴を取得後564個となって、
また数個変更履歴を取得後569個に戻って、途中で取得する度に総数が564/569で変わる場面もあります。
 
変更履歴は挿入、削除、フォーマット変更が主です。
変更履歴を反映する処理をしていません。
Wordの変更履歴表示パネルでは564となっています。
 
なぜ総数が変わってしまうのかがわかりません。
 
A変更履歴の情報を取得するのに時間がかかっています。
 
特にRange.Informationからページ番号と行番号を取得する部分で、
Wordから一間置いてから結果が返ってきている感じです。
Range.Informationだから、処理が遅いなのでしょうか?
処理速度を上げる方法がありますでしょうか?
 
 
よろしくお願いします。

トピックに返信