Как исправить замораживание VBA FOR EACH на определенных страницах, а не на других страницах Word docx? - PullRequest
0 голосов
/ 11 октября 2019

ПРОБЛЕМА: Как исправить подпрограмму Word VBA FOR EACH, которая пытается вставлять комментарий при каждом отслеживаемом изменении и, тем не менее, останавливает VBA / Word на определенных страницах документа, а не на других.

Приведенный ниже код работает с некоторыми документами по всему документу. К сожалению, другие документы будут зависать в определенных местах документа.

Я прошел F8, например, чтобы найти один документ, который завис бы на страницах 6 и 7 22-страничного документа. Странно, однако, я мог запустить код для вставки комментариев на каждой отслеживаемой странице на всех других страницах.

Dim rev As Revision, txt As String
Dim pgno1 As String
Dim pgno2 As String

Application.ScreenUpdating = False

ActiveDocument.TrackRevisions = False

'check Revisions
For Each rev In ActiveDocument.Revisions
    Select Case rev.Type 
        Case wdRevisionDelete
            txt = Left(rev.Range.Text, 3) 'the deleted text
                rev.Range.Comments.Add Range:=rev.Range, Text:="Pg [#" & pgno1 & "] BLAH " & txt & " [ ... ]“
        Case wdRevisionInsert
            txt = Left(rev.Range.Text, 3) 'the inserted text
                rev.Range.Comments.Add Range:=rev.Range, Text:= "Pg [#" & pgno1 & "] BLAH " & txt & " […]”
 End Select
 Next rev
 ActiveDocument.TrackRevisions = True

ЦЕЛЬ: вставлять комментарий с конкретным текстом при каждом отслеживаемом изменении на протяжении всего документа

ОШИБКИ: нет сообщений. VBA и Word зависают, требуя перезагрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...