В Word файле есть текст и таблицы. Нужно убрать из документа все лишние пробелы, в т.ч. и в таблицах.
Пример
Было:
Иванов Иван Иванович, 2000 г.р. Живет на планете Земля
Стало: Иванов Иван Иванович, 2000 г.р. Живет на планете Земля
Макрос
Sub Макрос()
With ActiveDocument.Range.Find
.Text = " {2;}"
.Replacement.Text = " "
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
End Sub
Спасибо, работает.
.Text = " {2;}" - это регулярное выражение? VBA Word нормально понимает их? Как его понять? Нужно найти текст, в котором есть больше двух пробелов?
В Excel есть функция Trim, которая удаляет лишние пробелы. В Word такой функции нет?
Да, в ворде можно использовать регулярные выражения.
{2;}
Перед левой фигурной скобкой находится пробел. Это означает, что нужно искать пробел.
Это {2;} означает: найти два и более символа, который находятся перед этим выражением. В данном случае: найти два и более пробела.
В ворде нет готового инструмента для удаления лишних пробелов: нужно изобретать. Например, можно использовать метод "Range.Find".