Тема: Выборочное подчеркивание
В контрольной работе такое задение: каждое 10 слово в тексте должно быть подчеркнуто. Как я могу это сделать?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
В контрольной работе такое задение: каждое 10 слово в тексте должно быть подчеркнуто. Как я могу это сделать?
Как-то так:
Sub UnderlineEvery10()
Dim i As Long
For i = 10 To ActiveDocument.Words.Count Step 10
ActiveDocument.Words(i).Font.Underline = wdUnderlineSingle
Next i
End Sub
Это самый простой вариант, если препод не будет придираться. А если будет, тогда нужно будет усложнить, добавив проверки, что элемент коллекции Words, действительно является словом в его обычном понимании, т.к. у Ворда несколько иной взгляд на это.
Added:
Усовершенствованный макрос. Подчёркиваются только слова в обычном понимании, т.е. находящиеся между пробелами и знаками препинания.
Sub UnderlineEvery10()
Dim i As Long, n As Byte
Do
' Отсчёт девяти пробельных промежутков. Курсор становится в начале десятого слова.
' Индекс i служит для отслеживания конца документа.
For n = 1 To 9
' Смещение курсора до первого пробела, считая от положения курсора.
i = Selection.MoveUntil(" ", 100)
' Смещаем курсор к началу слова, следующего за этим пробелом.
' При этом пропуская символы, которые могу быть перед словом _
(открывающие кавычки, скобки и т.п.)
i = Selection.MoveWhile(" (""«„", 100)
Next
' Выделение слова, стоящего сразу за курсором, отсекая символы, _
которые могут быть в конце слова (знаки препинания и т.п.)
Selection.MoveEndUntil " .,:;?!""»“)", 100
' Подчёркивание выделенного слова
Selection.Font.Underline = wdUnderlineSingle
' Переход к следующему слову
Selection.MoveUntil " ", 100
Selection.MoveWhile " ", 100
Loop While i > 0
End Sub
Спасибо... А как вообще мне это и куда вставить? >_<???
Скопировать код в буфер обмена.
В открытом документе нажать Alt+F11.
В появившемся окне слева будет дерево. Дважды щёлкнуть на ThisDocument.
В правой, большей части окна, откроется пустое поле. Вставить в него текст макроса, начиная от Sub и заканчивая End Sub.
Перейти в документ. Нажать Alt+F8.
В списке найти имя макроса и дважды щёлкнуть по нему.
Насладиться результатом.
Спс!!
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться