1

Тема: Ускорение работы макроса

Макрос удаления стилей, вхождения которых в документе нет. Но работает очень медленно при удалении стиля. Может кто знает, как ускорить данное действие?

For Each oСтиль In ActiveDocument.Styles
        If oСтиль.BuiltIn = False And _
          Not Left(oСтиль.NameLocal, Len(Шаблон)) = Шаблон Then
            With ActiveDocument.Content.Find
                .ClearFormatting
                .Style = oСтиль.NameLocal
                .Execute FindText:=vbNullString, Format:=True
                If .Found = False Then oСтиль.Delete
                'DoEvents
            End With
        End If
    Next oСтиль
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871

2

Re: Ускорение работы макроса

я бы видимо
--прошла по параграфам, запомнила стили в словарь
--затем пошла бы стилям, проверяя по словарю