Интересует, как можно удалить все стили, даже свои, созданные пользователем, кроме стандартных (которые присутствуют в документе по умолчанию при создании нового документа Word).
Макрос
Sub Макрос()
Dim style As style
Dim i As Long
' Цикл по всем стиялм в активном файле от последнего к первому.
For i = ActiveDocument.Styles.Count To 1 Step -1
' Присваиваем стилю имя "style" (чтобы удобнее писать код).
Set style = ActiveDocument.Styles(i)
' Если стиль не встроенный, то удаляем.
If style.BuiltIn = False Then
style.Delete
End If
Next i
' Сообщение, чтобы было понятно, что макрос закончил работу.
MsgBox "Готово.", vbInformation
End Sub
Спасибо!
Вот только результат немного не тот, который я ожидал.
У текста, если удалить стиль вручную, структура не сбрасывается. А тут получается, что макрос везде заменяет все пользовательские стили на обычный.
Это поправимо или только так?
Напишите, куда вы щёлкаете, чтобы удалить стиль вручную.
Подвожу указатель мыши к панели стилей, навожу на стиль, нажимаю правую кн. мыши, в выпадающем меню выбираю пункт Удалить из коллекции экспресс-стилей.
В этом случае стиль не удаляется, а только удаляется стиль из коллекции стилей.
Вы хотите удалить стиль совсем или из коллекции стилей? Коллекция стилей - это то, что вы показали на скриншоте в другой теме.
Макрос удаляет из коллекции стилей пользовательские стили:
Макрос
Sub Макрос()
Dim style As style, i As Long
' Цикл по всем стиялм в активном файле от последнего к первому.
For i = ActiveDocument.Styles.Count To 1 Step -1
' Присваиваем стилю имя "style" (чтобы удобнее писать код).
Set style = ActiveDocument.Styles(i)
' Если стиль есть в коллекции стилей (или если это спецстиль, которого может быть
' не видно в коллекции, но он там есть).
If style.QuickStyle = True Then
' Если стиль невстроенный, то удаляем.
If style.BuiltIn = False Then
style.QuickStyle = False
End If
End If
Next i
' Сообщение, чтобы было понятно, что макрос закончил работу.
MsgBox "Готово.", vbInformation
End Sub
Спасибо за вариант! Оба мне пригодятся!
Хотя появилась мысль, а можно ли отвязать текст от стиля, например, сначала назначить тексту стиль заголовок, а потом сделать так, что оформление текста осталось, а стиль у него стал обычный (причем чтобы сохранился цвет, размер, шрифт, отступы и т.п. параметры шрифта и абзаца).