Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 4 ]
- Зарегистрирован: 29.01.2016
- Сообщений: 2
Тема: Макрос или автозамена, выделяющая даты курсивом
Имеется огромный сборник стихов. В конце каждого стихотворения на отдельной строчке - дата. Например: 16.10.2016. Как сделать, чтобы даты автоматически были выделены курсивом, а перед ними был вставлен знак табуляции в количестве одного?
Есть: 16.10.2016
Нужно: 16.10.2016
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
- За сообщение: 1
Re: Макрос или автозамена, выделяющая даты курсивом
Alnis пишет:Есть: 16.10.2016
Нужно: 16.10.2016
Попробуйте макрос. У меня почему-то не получилось задать интервалы цифр в регулярном выражении ((
Sub SetItalicsInDates()
Dim findagain As Boolean
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
findagain = True
While (findagain)
Selection.Find.ClearFormatting
With Selection.Find
.Text = "[0-9]@.[0-9]@.????"
.Wrap = wdFindStop
.Format = False
.Forward = True
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceNone
findagain = Selection.Find.found
If IsDate(Selection.Text) Then
Selection.Font.Italic = True
Selection.Collapse wdCollapseEnd
End If
Wend
End Sub
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
- За сообщение: 1
Re: Макрос или автозамена, выделяющая даты курсивом
yshindin пишет:Попробуйте макрос. У меня почему-то не получилось задать интервалы цифр в регулярном выражении ((
Причина моей ошибки регулярного выражения при поиске даты (см. мое предыдущее сообщение) оказалась в некорректном указании системного разделителя списка. Я использовал запятую, что неправильно (а правильно - точка с запятой для российского региона). Чтобы узнать значение разделителя для текущего региона, необходимо в VBA использовать выражение
Application.International(wdListSeparator)
Например, в приведенном выше примере поиска, если бы было необходимо использовать поиск одной или двух цифр рядом, необходимо было использовать (для российского региона) не
.Text = "[0-9]{1,2}"
(что выдавало ошибку регулярного выражения), а
.Text = "[0-9]{1;2}"
Но для того, чтобы код был независим от региональных установок, следует указывать
.Text = "[0-9]{1" & Application.International(wdListSeparator) & ",2}"
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
Re: Макрос или автозамена, выделяющая даты курсивом
yshindin пишет:... для того, чтобы код был независим от региональных установок, следует указывать
.Text = "[0-9]{1" & Application.International(wdListSeparator) & ",2}"
Поправка: следует указывать
.Text = "[0-9]{1" & Application.International(wdListSeparator) & "2}"
Сообщений [ 4 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Макрос или автозамена, выделяющая даты курсивом
Как часто сталкиваемся мы с тем, что, казалось бы, вдоль и поперек изученные программы на самом деле знаем гораздо хуже, чем требуется. На портале о Microsoft Office Word вы узнаете про: сканирование текста в word2007.
К примеру, Ворд, который известен и используется практически всеми, но в котором много белых пятен для большинства. Наш сайт о Microsoft Office Word даст ответ про: как в экселе заглавные буквы сделать маленькими.
Обычно это становится очевидно, когда возникает необходимость выполнить какую-то нестандартную для себя операцию. На портале о Microsoft Office Word вы узнаете про: как в ворде убрать рамку у таблицы.
Восполнить пробелы в знаниях о работе программы можно на форуме сайта Ворд Эксперт, где участники делятся друг с другом своими секретами и опытом работы. На портале о Microsoft Office Word вы узнаете про: исключить из текста в автоматическом режиме двойные пробелы, пробелы перед знаками препинания..
Здесь много информации о создании шаблонов, назначении макросов для различных операций, о настройках программы. Наш сайт о Microsoft Office Word даст ответ про: раскрывающийся список из txt.
Вам укажут путь решения возникших проблем, посоветуют литературу, предложат готовое решение. Также можно оставить заявку на любую работу, связанную с приложением. На портале о Microsoft Office Word вы узнаете про: режим правки в libreoffice.