Удалить ВСЕ пользовательские стили ячеек EXCEL
Материал из support.qbpro.ru
Версия от 02:40, 13 июня 2019; imported>Vix (Новая страница: «1. Вариант: 1. Создаем дубликат файла 2. в одном из excel файлов удаляем styles.xml 3. Открываем о...»)
1. Вариант:
1. Создаем дубликат файла 2. в одном из excel файлов удаляем styles.xml 3. Открываем оба Excel файла 4. В книге с форматами выделяем отформатированные области 5. Вставляем в файл без форматов в соответствующие области как формат 6. Удаляем лишние стили (их будет не много, можно в ручную)
Открываем файл в текстовом редакторе с возможностью поиска-замены (я пользовался Word-ом, он позволяет искать и вставлять спецсимволы, что удобно).
Файл представляет из себя простыню параметров без переносов строки, что не очень читаемо. Во второй половине файла видим такие строки примерно:
</cellXfs> <cellStyles count="1599">
а дальше идет указанное число параметров (1599) такого вида:
<cellStyle xfId="94" name="20% - 강조색3 22"/> <cellStyle xfId="118" name="20% - 강조색3 9"/>
и т.д. (в текстовом редакторе переносов нет, всё в одну строку)
А заканчивается всё это великолепие строкой
</cellStyles>
2. Вариант:
Sub DefaultStyles()
Dim MyBook As Workbook
Dim tempBook As Workbook
Dim CurStyle As Style
Set MyBook = ActiveWorkbook
On Error Resume Next
For Each CurStyle In MyBook.Styles
Select Case CurStyle.Name
Case "20% - Accent1", "20% - Accent2", _
"20% - Accent3", "20% - Accent4", "20% - Accent5", "20% - Accent6", _
"40% - Accent1", "40% - Accent2", "40% - Accent3", "40% - Accent4", _
"40% - Accent5", "40% - Accent6", "60% - Accent1", "60% - Accent2", _
"60% - Accent3", "60% - Accent4", "60% - Accent5", "60% - Accent6", _
"Accent1", "Accent2", "Accent3", "Accent4", "Accent5", "Accent6", _
"Bad", "Calculation", "Check Cell", "Comma", "Comma [0]", "Currency", _
"Currency [0]", "Explanatory Text", "Good", "Heading 1", "Heading 2", _
"Heading 3", "Heading 4", "Input", "Linked Cell", "Neutral", "Normal", _
"Note", "Output", "Percent", "Title", "Total", "Warning Text"
Case Else
CurStyle.Delete
End Select
Next CurStyle
Set tempBook = Workbooks.Add
Application.DisplayAlerts = False
MyBook.Styles.Merge Workbook:=tempBook
Application.DisplayAlerts = True
tempBook.Close
End Sub
ИСТОЧНИКИ:
