#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;.