Вот казалось бы бессмертные боги, чудища и прочие гарханзы, да суурь-тэсеги кругом. Но без поребрика нельзя И вот где он его в своем Уссурийске видел?Он тянулся к огню, обещая, чего заведомо не мог выполнить. Тьмы его рук напряглись до предела, дюжины сердец судорожно бились, перегоняя кровь и всасывая живительную влагу далайна, весь он превратился в единый порыв, но жёсткая и невидимая граница останавливала его, не пуская дальше.
— Отдай! — молил он, а крошечный неуязвимый человек стоял у самого поребрика, смеялся над беспомощным богом, и в руках человека горел огонь.
Макрос какой-нибудь для ворда что считает число вхождений слова? Аж любопытно сколь раз упомянут этот "поребрик" Надо чтоб и формы тоже поребрику поребрика и т.д.
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
А вот в такой модификации считает и с формами:этот макрос (он отсюда) считает только слово как есть, без форм.
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
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchAllWordForms = True
.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
@Йожег, а ты уверен, что сделал хорошо и правильно? Бордюр и поребрик - разные вещи, и я не уверена, что можно вскочить на бордюрВ книжную тему.