Тема: VBA. Удаления форматирования текста
С помощью регулярных выражений (RegExp в VBA) удалось очистить текст от форматирования. Из тех вариантов форматирования, что встречались у меня, очистка прошла успешно.
Public Function freeFormat(sText As String) As String Dim rega As RegExp, regb As RegExp, ama, amb, bma, bmb freeFormat = "" Set rega = New RegExp Set regb = New RegExp rega.Global = True regb.Global = True rega.IgnoreCase = True regb.IgnoreCase = True rega.Pattern = "([^{]*){([^}]*)}([^{]*)" Set ama = rega.Execute(sText) If ama.Count > 0 Then For Each amb In ama freeFormat = freeFormat & amb.SubMatches(0) regb.Pattern = "([^\\]*)((\\[LO])|(\\[^\\]*;))*([^\\]*)" Set bma = regb.Execute(amb.SubMatches(1)) For Each bmb In bma freeFormat = freeFormat & bmb.SubMatches(4) Next freeFormat = freeFormat & amb.SubMatches(2) Next End If End Function