Удаление невидимых символов chr(0)-chr(31) windows 1251 WORD - VBA
Формулировка задачи:
Вообщем нужно в таблице (в 4-ой ячейке) удалить все неопознанное и невидимое.
И вроде заменяет на пробел , но помимо этого еще в конце лишнего добавляет...
Как его правильно заменить?)
Листинг программы
- Dim obl1, obl2, obl3 As String
- Dim v(227 To 259, 1 To 2) As String
- v(227, 1) = Chr(31): v(227, 2) = " "
- v(228, 1) = Chr(30): v(228, 2) = " "
- v(229, 1) = Chr(29): v(229, 2) = " "
- v(230, 1) = Chr(28): v(230, 2) = " "
- v(231, 1) = Chr(27): v(231, 2) = " "
- v(232, 1) = Chr(26): v(232, 2) = " "
- v(233, 1) = Chr(25): v(233, 2) = " "
- v(234, 1) = Chr(24): v(234, 2) = " "
- v(235, 1) = Chr(23): v(235, 2) = " "
- v(236, 1) = Chr(22): v(236, 2) = " "
- v(237, 1) = Chr(21): v(237, 2) = " "
- v(238, 1) = Chr(20): v(238, 2) = " "
- v(239, 1) = Chr(19): v(239, 2) = " "
- v(240, 1) = Chr(18): v(240, 2) = " "
- v(241, 1) = Chr(17): v(241, 2) = " "
- v(242, 1) = Chr(16): v(242, 2) = " "
- v(243, 1) = Chr(15): v(243, 2) = " "
- v(244, 1) = Chr(14): v(244, 2) = " "
- v(245, 1) = Chr(13): v(245, 2) = " "
- v(246, 1) = Chr(12): v(246, 2) = " "
- v(247, 1) = Chr(11): v(247, 2) = " "
- v(248, 1) = Chr(10): v(248, 2) = " "
- v(249, 1) = Chr(9): v(249, 2) = " "
- v(250, 1) = Chr(8): v(250, 2) = " "
- v(251, 1) = Chr(7): v(251, 2) = " "
- v(252, 1) = Chr(6): v(252, 2) = " "
- v(253, 1) = Chr(5): v(253, 2) = " "
- v(254, 1) = Chr(4): v(254, 2) = " "
- v(255, 1) = Chr(3): v(255, 2) = " "
- v(256, 1) = Chr(2): v(256, 2) = " "
- v(257, 1) = Chr(1): v(257, 2) = " "
- v(258, 1) = Chr(0): v(258, 2) = " "
- v(259, 1) = Chr(160): v(259, 2) = Chr(39)
- For iRow = 2 To ActiveDocument.Tables(1).Rows.Count
- For f = 227 To 259
- Selection.Find.ClearFormatting
- If ActiveDocument.Tables(1).Columns(4).Cells(iRow).Range.Find.Execute(FindText:=v(f, 1)) = True Then
- ActiveDocument.Tables(1).Columns(4).Cells(iRow).Range.Text = Replace(ActiveDocument.Tables(1).Columns(4).Cells(iRow).Range.Text, v(f, 1), v(f, 2))
- MsgBox ("заменено" & v(f, 1))
- End If
- Next f
- MsgBox ("замена завершена")
- MsgBox (ActiveDocument.Tables(1).Columns(4).Cells(iRow)
- next iRow
Решение задачи: «Удаление невидимых символов chr(0)-chr(31) windows 1251 WORD»
textual
Листинг программы
- Public function iRep(asd as String) as String
- for i=0 to 31
- asd=Replace(asd,chr(i)," ") 'заменяем символы с 0 по 31
- next i
- asd=Replace(asd,chr(160),chr(39))' заменяем симол 160
- do While instr(1,asd," ")>0 'этот цикл убирает двойные тройные четверные и т.д пробелы
- asd=Replace(asd," "," ")
- loop
- asd=Trim(asd)' обрезаем пробелы в начале и в конце текта
- if Right(asd,3)="..." Then asd=mid(asd,1,Len(asd)-3)' если в конце три точки обрезаем их
- iRep=asd
- end function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д