Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2013, 18:10   #11
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Sasha_Smirnov, программа "Word" с помощью "Найти и заменить" и без замены определяет, сколько раз встречается слово, но в VBA такого нет. Не всегда то, что есть в программе "Word", можно сделать и в VBA.
Скрипт вне форума Ответить с цитированием
Старый 27.03.2013, 22:15   #12
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,069
По умолчанию

может я туплю, но что надо сделать чтобы код зашёл во вторую строчку:
Код:
If Not .Execute Then Beep 'если искомое слово не имеется, имеется один раз, имеется более одного раза - проверял лично
If .Execute Then Beep 'если искомое слово ... хз????
Ципихович Эндрю вне форума Ответить с цитированием
Старый 30.03.2013, 12:11   #13
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,069
По умолчанию

Раз так сложно идёт обсуждение, выкладываю весь код - пробу
в файле не было сначала искомого слова
Cлово = "аблактируем"
потом я его добавил, стало оно одно
потом я его ещё добавил, стало их два
и никогда не заходило в ветку If .Execute Then
1 когда туда зайдёт??
2 смысл строки If Not .Execute Then Beep если в неё заходит когда
искомое слово не имеется
искомое слово имеется один раз
искомое слово имеется более одного раза
вот код:
Код:
Sub йй()

 Cлово = "аблактируем"
                       
            'проверка повторяемости слова
            With ActiveDocument.Range.Find
                
                .Text = Cлово
                .Wrap = wdFindStop    'поиск остановить, остановит поиск по достижении конца
                Счётчик = 0
                'Execute - выполнять
                Do While .Execute = True
                    
                    Счётчик = Счётчик + 1
                Loop
                If Not .Execute Then Beep '... можно узнать повторяемость слова более двух раз только Do While-Loop
                If .Execute Then Beep '... можно узнать повторяемость слова более двух раз только Do While-Loop
                MsgBox$ Счётчик
            End With
            
            End Sub
Ципихович Эндрю вне форума Ответить с цитированием
Старый 30.03.2013, 13:21   #14
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Ципихович Эндрю, в эту строку кода:
Код:
If Not .Execute Then Beep
код заходит после цикла, который осуществляет поиск. Цикл заканчивается, когда уже искомое не ищется. Соответственно код после цикла ничего не находит.
Скрипт вне форума Ответить с цитированием
Старый 08.06.2013, 15:31   #15
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Цитата:
Сообщение от Скрипт Посмотреть сообщение
В VBA-Word нет инструмента, который определяет, сколько раз встречается искомый текст.
Word, однако, это определяет — если при замене (Ctrl-h) нажать "Заменить все"!
А вот и метод: programmersforum.ru/showthread.php?t=238629#2Вождь зна-а-ает!

Последний раз редактировалось Sasha_Smirnov; 08.06.2013 в 15:38.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 09.06.2013, 06:25   #16
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,069
По умолчанию

видел, респект вождю!!!!!!!
Ципихович Эндрю вне форума Ответить с цитированием
Старый 17.10.2013, 12:51   #17
Nicko1622
 
Регистрация: 13.10.2013
Сообщений: 3
По умолчанию

Не знаю , продолжить ли тему , или новую начать.
Не знать - Опасно,
Знать много - слишком Опасно (А.Энштейт)
Nicko1622 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Find Trimbl Microsoft Office Excel 4 10.01.2023 17:40
Find next & Find previous NeedLess Общие вопросы C/C++ 0 08.07.2012 13:42
Cant Find mistake dikabraz Паскаль, Turbo Pascal, PascalABC.NET 10 19.10.2010 20:17
метод find kate158 Общие вопросы Delphi 4 15.12.2009 16:09