Неразрывный пробел между элементами даты слово vba - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь убедиться, что даты остаются вместе и не разбиваются на строки.

Текст замены должен содержать два неразрывных пробела, один между \ 1 апреля и один между апреля \ 2 .

Sub SarahDates()
‘ Supposed to put a non breaking space between day, month and year.
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = “([0-9]) April ([0-9])”
        .Replacement.Text = “\1 April \2”
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Какой правильный текст в .Replacement.Text, так что неразрывные пробелы отображаются в макросе.

1 Ответ

0 голосов
/ 15 апреля 2020

следующий макрос переформатирует все ваши даты в один go.

Sub SarahDates()
Application.ScreenUpdating = False
With ActiveDocument.Range.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Text = "(<[0-9]{1,2}) ([JFMASOND][abceghilmnoprstuvy]{2,8}) ([12][0-9]{3}>)"
  .Replacement.Text = "\1^s\2^s\3"
  .Forward = True
  .Format = False
  .Wrap = wdFindContinue
  .MatchWildcards = True
  .Execute Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...