3

Я ищу автоматический способ преобразования отслеживаемых изменений в Microsoft Word 2010 в выделенный текст. Итак, по сути, я хотел бы сделать следующее:

  1. Выделите все фрагменты текста с отслеженными изменениями
  2. Принять все отслеженные изменения (для этого есть кнопка)

Есть ли способ сделать это, используя встроенные функции или сценарии?

2 ответа2

5

В VBA есть объект ревизий . Оттуда просто перебрать каждый элемент ревизии, принять и выделить его с помощью предопределенного цвета.

Кроме того, нам нужно временно отключить отслеживание.

Sub tracked_to_highlighted()           
    tempState = ActiveDocument.TrackRevisions
    ActiveDocument.TrackRevisions = False    
    For Each Change In ActiveDocument.Revisions        
        Set myRange = Change.Range
        myRange.Revisions.AcceptAll
        myRange.HighlightColorIndex = wdGreen            
    Next    
    ActiveDocument.TrackRevisions = tempState
End Sub
-2

Как ни странно, это частично выполняет работу в моих документах (Word 2010). Изменения выделены только со страницы 5. Понятия не имею, как сказать макросу начинать сверху документа, даже

Selection.Homekey Unit:=wdStory

Вручную принять каждое изменение, однако, также учитывает изменения на страницах 1-4.

Кто-нибудь схожий опыт?

Питер

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