Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск слова с условием

17K
10 октября 2006 года
tet
7 / / 28.09.2006
У меня слова например:ордер или накладная повторяются несколько раз и после третьего повтора мне нужно сделать разрыв страницы,далее снова отщитывает когда слово будет повторятся третий раз и разрыв?Вот такой цыкл должен получится.
Если кто знает помогите!!
2.1K
10 октября 2006 года
Tever
87 / / 05.08.2003
Вот текст макроса, который был быстро сделан (не стреляйте в пианиста, он играет как умеет...), но дает искомый результат - поиск по слову order и перед каждым четвертым вхождением разрыв страницы:
Код:
Sub Macro2()
'
' Macro2 Macro
' Macro recorded ю10/10/2006 by *
'
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "order"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = False
        .MatchControl = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
   For i = 1 To ActiveDocument.Paragraphs.Count
    xx = Selection.Find.Execute
   If i Mod 4 = 0 And xx = True Then
    Selection.InsertBreak Type:=wdSectionBreakNextPage
   End If
   Next
End Sub
17K
11 октября 2006 года
tet
7 / / 28.09.2006
Прекрасно. :) Но есть одно но: в программе ищет одно слово и делает разрыв, а если мне нужно делать поиск по двум – например, если нашел слово (4-е) "ордер" или "накладная" то разрыв.

Ещё раз спасибо за потраченное Ваше время.
2.1K
11 октября 2006 года
Tever
87 / / 05.08.2003
Насколько я понял надо искать по двум словам? И после любого третьего из них делать разрыв?
17K
11 октября 2006 года
tet
7 / / 28.09.2006
Приятно с Вами работать(если быть поточнее,Вы работаете, а я только усложняю задачу), Вы всё правильно поняли.:)
2.1K
12 октября 2006 года
Tever
87 / / 05.08.2003
Правильно понял - правильно сделал!!! :)
Код:
Sub Macro1()

Selection.HomeKey Unit:=wdStory
For i = 1 To ActiveDocument.Words.Count
If Trim(UCase(ActiveDocument.Words(i))) = "ORDER" Or Trim(UCase(ActiveDocument.Words(i))) = "NAKL" Then
x = x + 1
If x = 3 Then
ActiveDocument.Words(i).Select
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdSectionBreakNextPage
x = 0
End If
End If
Next

End Sub


P.S. Выделенные жирным слова для поиска обязательно должны быть написаны заглавными буквами

P.P.S Последняя поправка позволяет вставлять разрыв страницы именно после третьего повтора, а не перед четвертым
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог