Как заставить Word не отмечать ревизию обновление поля, результат которого не изменился?

Я использую Word 2010. AFAIK, эта проблема была в слове с начала времени, хотя.

когда я создаю поле в документе, поле обновляется, когда я заставляю его (например, с помощью F9 или контекстного меню) или как побочный эффект открытия или печати файла. Все, что хорошо - это то, почему я использовал поле. Конечно, большую часть времени (иногда большую часть времени) обновление поля не приводит к изменению результирующего текста. Например, {numpages} или a перекрестная ссылка или имя файла, скорее всего, не изменится.

к сожалению, если у меня включено отслеживание изменений, каждое обновление поля помечается вычеркнутым (удаленным) старым результатом и вставленным новым значением. Это происходит, даже если значение не изменилось. После нескольких эпизодов открытие, закрытие, печати, обновление и т. д., вы можете получить что-то похожее на это (я использовал полужирный вместо подчеркивания в этом примере из-за ограничений редактора) для перекрестная ссылка

раздел 2.3.42.3.42.3.42.3.4

IMHO, Word не должен считать это ревизией, если текст результата не изменился. Если есть способ сделать слово сделать это в первую очередь, я хотел бы знать об этом.

в качестве альтернативы, если есть какой-то способ легко удалить эти лишние (не)ревизии из моего документа (сохраняя при этом все "реальные" ревизии), это было бы еще одним решением для моего проблема.

спасибо,


Еш

15
задан yosh m
22.01.2023 0:34 Количество просмотров материала 2946
Распечатать страницу

2 ответа

не полное решение, но вы можете избежать дублирования ревизий, отключив отслеживаемые ревизии непосредственно перед обновлением, а затем снова включив их после завершения обновления. Вы можете пойти дальше, чтобы привязать макрос к клавиатуре, чтобы сделать эти шаги для вас автоматически.

Я боюсь, что это не поможет, если поля обновляются автоматически перед печатью, однако вы можете отключить это поведение, перейдя в меню " Параметры, в дисплей и unticking обновление полей перед печатью.

EDIT: я написал следующий макрос, который должен удалить такие ненужные ревизии из полей. Это может понадобиться некоторые улучшения скорости, если это возможно.

Sub RemoveUnchangedFieldTrackedChanges()

    Dim oField As Field
    Dim oRevision As Revision

    For Each oField In ActiveDocument.Fields
        For Each oRevision In oField.Parent.Range.Revisions
            Select Case oRevision.Type
            Case wdRevisionInsert
                With oRevision
                    revisionText = .Range.Text

                        For Each iRevision In oField.Parent.Range.Revisions
                            Select Case iRevision.Type
                            Case wdRevisionDelete
                                With iRevision

                                If StrComp(revisionText, iRevision.Range, vbTextCompare) = 0 Then
                                    oRevision.Accept
                                    iRevision.Accept
                                End If

                            End With
                            End Select
                         Next iRevision

                        End With
                End Select
         Next oRevision
    Next oField
End Sub 
1
отвечен Adam 2023-01-23 08:22

Я недавно понял, что решение поставленного мной вопроса заключается в том, чтобы вообще не использовать маркировку ревизий. Вместо этого после завершения всех изменений я использую Compare Files для создания версии документа с пометкой Rev. При выполнении сравнения я обязательно Не выберитеполя опция в настройках сравнения:

enter image description here

Так как меня обычно не волнует форматирование и Белый пробел изменения я тоже отменяю выбор этих параметров. Конечный результат (я вообще выбираю создать новый документ) дает мне документ с заметными изменениями и без неважных и отвлекающих (не)изменений (например, значений полей).

1
отвечен yosh m 2023-01-23 10:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх