1

Тема: Ошибка 5852 при работе макроса, помечающего исправления

Добрый день!
Написал следующий макрос, закрашивающий вставки и замены в тексте синим (не спрашивайте, зачем).

Dim r As Revision
ActiveDocument.TrackRevisions = False

For Each r In ActiveDocument.Revisions
    'On Error Resume Next
    If r.Type = wdRevisionInsert Or r.Type = wdRevisionReplace Then
    r.Range.Font.Color = wdColorLightBlue
    'Else: r.Accept
    End If
Next r

Проблема в том, что иногда макрос выдает следующую ошибку:
Run-time error '5852'
Требуемый объект недоступен

Предполагаю, что это происходит, если в обрабатываемом тексте есть исправления типа

2

Re: Ошибка 5852 при работе макроса, помечающего исправления

Клавицепс пурпуреа пишет:

Добрый день!
Написал следующий макрос, закрашивающий вставки и замены в тексте синим (не спрашивайте, зачем).

Dim r As Revision
ActiveDocument.TrackRevisions = False

For Each r In ActiveDocument.Revisions
    'On Error Resume Next
    If r.Type = wdRevisionInsert Or r.Type = wdRevisionReplace Then
    r.Range.Font.Color = wdColorLightBlue
    'Else: r.Accept
    End If
Next r

Проблема в том, что иногда макрос выдает следующую ошибку:
Run-time error '5852'
Требуемый объект недоступен

Предполагаю, что это происходит, если в обрабатываемом тексте есть исправления типа

У вас текст обрезался. Скорее всего такой объект нельзя покрасить, т.к. это не текст. Вообще вы не выделяете цветом, а устанавливаете цвет шрифта. Не знаю, зачем это делать макросом (крутить каждое исправление), если это можно установить во вкладке "Рецензирование" - "Исправления" - "параметры исправлений"

Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871