VBA-Word: добавить разрыв строки перед всеми датами в документе

#vba #ms-word

#vba #ms-word

Вопрос:

У меня есть журнал чата, который кто-то вставил в MS Word и передал мне, но при вставке все возвраты каретки между чатами были удалены. Каждый чат начинается с даты в формате ‘ММ / ДД / ГГ’ (месяц может состоять только из 1 символа).

У меня есть доступ только к VBA, и мне нужно вставлять новую строку перед каждым появлением даты, чтобы сделать этот документ более удобочитаемым.

Комментарии:

1. Добро пожаловать в SO. Это был не мой отрицательный отзыв, но вопросы, как правило, воспринимаются лучше, если они включают попытку решения проблемы.

Ответ №1:

Вы можете сделать это без VBA, используя find и replace. Убедитесь, что выбрано значение «использовать подстановочные знаки».

  • Найти: ([0-9/]{7,8}) . Это соответствует 7 или 8 вхождениям одной цифры или косой черты. () Захватывает текст для использования при замене.
  • Заменить на: ^l1 . Это заменяет символ разрыва строки, за которым следует записанный текст.

Если есть числовые данные, отличные от дат, возможно, вам потребуется немного уточнить строку поиска: ([0-9]{1,2}/[0-9]{2}/[0-9]{2}) .

Комментарии:

1. Вам не нужна функция () в выражении Find — просто выполните замену ^l^amp;.