1

Тема: Выборочное подчеркивание

В контрольной работе такое задение: каждое 10 слово в тексте должно быть подчеркнуто. Как я могу это сделать?

2

Re: Выборочное подчеркивание

Как-то так:

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
Лучше день потерять — потом за пять минут долететь!

3

Re: Выборочное подчеркивание

Спасибо... А как вообще мне это и куда вставить?  >_<???

4

Re: Выборочное подчеркивание

  1. Скопировать код в  буфер обмена.

  2. В открытом документе нажать Alt+F11.

  3. В появившемся окне слева будет дерево. Дважды щёлкнуть на ThisDocument.

  4. В правой, большей части окна, откроется пустое поле. Вставить в него текст макроса, начиная от Sub и заканчивая End Sub.

  5. Перейти в документ. Нажать Alt+F8.

  6. В списке найти имя макроса и дважды щёлкнуть по нему.

  7. Насладиться результатом.

Лучше день потерять — потом за пять минут долететь!

5

Re: Выборочное подчеркивание

Спс!! big_smile