Удалить ВСЕ пользовательские стили ячеек 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
ИСТОЧНИКИ: