Статьи из блога

Подсчет количества некоторых слов в документе

Если вам нужно определить количество вхождений в документ некоторого слова, то здесь может помочь следующий макрос (навеяно заметкой Грега Макси "Count Selected Word\Phrase").

Вы выделяете некое слово и запускаете макрос, который после подсчета выдает сообщение о количестве найденных слов:

 

 

Sub CountWords()
'макрос подсчета количества определенных слов в документе
'для подсчета количества вхождений конкретного слова, это слово должно быть выделено
Dim rng As Range
Dim sWord As String
Dim i As Long
Set rng = ActiveDocument.Range
Application.ScreenUpdating = False
If Selection.Type = wdSelectionIP Then
   MsgBox "Слово не выделено", vbExclamation
Else
'удаляем знак абзаца справа от слова
   If Right(Selection.Text, 1) = Chr(13) Then
      Selection.MoveLeft wdCharacter, 1, wdExtend
   End If
   sWord = Trim(Selection.Text)  'Убираем прообелы вокруг слова и запоминаем
   Selection.Collapse wdCollapseStart
   With rng.Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Text = sWord
      .Forward = True
      .MatchWholeWord = True
      .MatchWildcards = False
      .Wrap = wdFindStop
      Do While .Execute
         i = i + 1
      Loop
   End With
   Select Case i
      Case 2 To 4
         MsgBox "Слово " & Chr(171) & sWord & Chr(187) & " встречается в документе " & i & " раза", _
            vbInformation, "Подсчет слов"
      Case 1
         MsgBox "Слово " & Chr(171) & sWord & Chr(187) & " встречается в документе " & i & " раз", _
            vbInformation, "Подсчет слов"
      Case Else
         MsgBox "Слово " & Chr(171) & sWord & Chr(187) & " встречается в документе " & i & " раз", _
            vbInformation, "Подсчет слов"
   End Select
   rng.Find.Text = ""
End If
Application.ScreenUpdating = True
End Sub

Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Создание макроса из готового кода

Автоматическая запись макроса

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us
Вы можете помочь в развитии сайта, сделав пожертвование:

Или помочь сайту популярной криптовалютой:

 

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

 

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

 

DOGE Адрес: DENN2ncxBc6CcgY8SbcHGpAF87siBVq4tU

 

BAT Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

XRP Адрес: rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh Депозит Tag: 105314946

 

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

Яндекс Деньги: 410013576807538

 

Вебмани (R ещё работает): R140551758553 или Z216149053852

 

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов - получит плюсик в карму от нас :) Благо Дарим, за любую помощь!

 

Еще записи по вопросам использования Microsoft Word:

Комментариев: 7

  1. Luna
    17.06.2009 в 21:03 | #1

    Ха!

    Есть вариант получше - и без макроса!

    Ctrl+F, птичку на "Выделить все фрагменты, найденные в", выбрать Основной документ, и кнопку Найти все.

    В итоге получится не только количество элементов, и _все_ они будут выделены!

    Причем не обязательно отдельные слова, но и их фрагменты

  2. 18.06.2009 в 04:07 | #2

    Luna, безусловно! Спасибо.

  3. Iwan Petrov
    27.06.2009 в 20:52 | #3

    А в Worde 2007 есть "Выделить все фрагменты, найденные в"?

  4. 27.06.2009 в 20:58 | #4

    Есть. Там отдельная кнопка - "Выделение при чтении" с двумя командами: Выделить все и Снять выделение.

  5. Executor
    09.07.2009 в 17:44 | #5

    Luna, макрос для того и создан чтобы не делать миллион кликов.

  6. Аноним
    06.02.2014 в 23:00 | #6

    С одним словом понятно. А допустим, если пять слов и не выделеных, а просто Вася 10раз Клава15раз...

  7. Amadeus
    01.07.2014 в 15:08 | #7

    Одна беда - если слово встретится 22 раза то на выводе будет "22 раз". Нужно отсекать еденицы перед выбором.

Оставьте комментарий!

(обязательно)

^ Наверх