1

Я часто даю отзывы о многих документах с Word. К сожалению, если документ был сохранен без отслеживания изменений, я должен (не забудьте) включить его. К сожалению, слишком часто случается так, что я начинаю исправлять документ и осознаю более 10 изменений, которые я не включил отслеживание.

Решение, конечно, состоит в том, чтобы сохранить документ и затем сделать сравнение.

Но рабочий процесс сравнения очень насыщен. По умолчанию не используется текущий документ для одного из документов в сравнении. Я должен сохранить текущий документ в новый файл (не так уж и плохо), но затем я должен выбрать старые и новые файлы через диалог файлов (который действительно кликабелен).

Мой вопрос: есть ли более быстрый способ восстановить изменения, которые вы внесли после того, как забыли включить отслеживание изменений?

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

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

1 ответ1

0

Другим решением было бы включить "Отслеживание изменений" в любом документе, который я открываю.

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

Вот макрос VBA, который нужно добавить в ThisDocument для проекта Normal :

Private WithEvents app As Word.Application

Private Sub Document_Open()
    Set app = Word.Application
    ' Force track changes
    ' On error resume next, since Protected View Document_Open has different context
    On Error Resume Next
    ActiveDocument.TrackRevisions = True
End Sub

' see https://msdn.microsoft.com/en-us/library/office/hh128817(v=office.14).aspx
Private Sub app_ProtectedViewWindowBeforeClose(ByVal PvWindow As ProtectedViewWindow, ByVal CloseReason As Long, Cancel As Boolean)
    Select Case CloseReason
      Case wdProtectedViewCloseEdit
        ActiveDocument.TrackRevisions = True  'safe to turn on here
    End Select
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .