Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск в открытом документе word определенной фразы / 25 сообщений из 31, страница 1 из 2
18.12.2013, 22:11
    #38505894
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Здравствуйте. Подскажите пожалуйста, возможно ли в VBA Word написать такой код, чтобы при открытии любого документа Word он искал в этом документе определенную фразу и если найдет - выделить ее, а если фразы там нет - процедура просто прекращается без никаких вопросов. Если можно и не трудно написать, буду благодарен за это. C Excel VBA еще знаком немного, а с Word никак.
Спасибо заранее.
...
Рейтинг: 0 / 0
19.12.2013, 01:12
    #38505978
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN,

Записать макрос и повесить его на открытие документа.
...
Рейтинг: 0 / 0
19.12.2013, 09:35
    #38506125
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
lbppbVISXAN,

Записать макрос и повесить его на открытие документа.
Да, и не забыть открыть документ чтобы макрос сработал)). Спасибо, Вы очень помогли.
...
Рейтинг: 0 / 0
19.12.2013, 09:45
    #38506139
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Неужели нет знающих людей?
Чтобы макрос срабатывал при открытии любого документа, надо как я понимаю записать его в модуль общего документа "Normal". Но что именно писать?
Ну и проверка, содержит ли данный документ определенную фразу.
Для знающих людей, думаю, не трудная задача.
...
Рейтинг: 0 / 0
19.12.2013, 09:46
    #38506142
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN, а Вы попробуйте в Эксель написать и выложите что получится и сравним
...
Рейтинг: 0 / 0
19.12.2013, 10:16
    #38506178
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
катастрофа, понимаете, в Excel есть объекты Range и Cells, перебирая их, можно посмотреть встречается ли в них слово. А в Word ума не приложу как это сделать.
...
Рейтинг: 0 / 0
19.12.2013, 10:22
    #38506186
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXANпонимаете, в Excel есть объекты Range и CellsА в Word - .Selection и .Range, не считая всяких Tables()...
Всех делов-то - выделить весь текст (или установить .Range на весь текст) документа и вызвать .Find
...
Рейтинг: 0 / 0
19.12.2013, 10:23
    #38506187
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
А есть вообще в VBA аналог пользовательской функции ПОИСК?
Что-то щас смотрю, не найду.
...
Рейтинг: 0 / 0
19.12.2013, 10:36
    #38506200
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN, Find
...
Рейтинг: 0 / 0
19.12.2013, 13:46
    #38506476
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Так, дело двинулось с мертвой точки. В Excel код (selection.Find("тест")) находит такую строку, а в Word тот же код - выдает ошибку, что объект не поддерживает данный метод. Что в этом коде не так, применительно к Word?
...
Рейтинг: 0 / 0
19.12.2013, 14:00
    #38506499
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN, задача века
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 'проверка повторяемости слова
        With ActiveDocument.Range.Find
            'поиск в начале слова
            .Text = "<" & Первое_слово1 & ","
            .Wrap = wdFindStop    'поиск остановить, остановит поиск по достижении конца
            'эта опция отвечает за поиск с использованием подстановочных знаков
            'не работает когда установлено в положение False, или её нет вообще
            ' если установлена в положение True, тогда работает
            .MatchWildcards = True
            Счётчик = 0
            Do While .Execute = True
                '.Parent.Select 'выделит искомые слова
                Счётчик = Счётчик + 1
            Loop
            'можно узнать количество повторяемости слова только применив Do While-Loop
            'If Not .Execute Then Beep 'если искомое слово не имеется, имеется один раз, имеется более одного раза
            'If .Execute Then Beep 'если искомое слово ...
            If Счётчик = 0 Then Selection.TypeText Text:=Первое_слово1 & ", " & Первое_слово1 & vbCrLf
        End With
...
Рейтинг: 0 / 0
19.12.2013, 14:32
    #38506553
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXANlbppbVISXAN,

Записать макрос и повесить его на открытие документа.
Да, и не забыть открыть документ чтобы макрос сработал)). Спасибо, Вы очень помогли.

Совершенно верно, не забыть открыть, это ключевой момент. Рад, что помог. Обращайтесь еще.
...
Рейтинг: 0 / 0
19.12.2013, 14:33
    #38506555
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Вставляет абзац где стоит курсор, и все.
...
Рейтинг: 0 / 0
19.12.2013, 14:35
    #38506561
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN,
Первое_слово1 - переменная? чему равна?
...
Рейтинг: 0 / 0
19.12.2013, 14:36
    #38506565
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXANНеужели нет знающих людей?
Чтобы макрос срабатывал при открытии любого документа, надо как я понимаю записать его в модуль общего документа "Normal". Но что именно писать?
Ну и проверка, содержит ли данный документ определенную фразу.
Для знающих людей, думаю, не трудная задача.

Для знающих задача действительно плевая, но у нас временно нет на складе знающих людей. Сейчас НГ на носу, приходите после праздников.
...
Рейтинг: 0 / 0
19.12.2013, 14:37
    #38506567
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
катастрофа, Вставляет абзац где стоит курсор, и все.
...
Рейтинг: 0 / 0
19.12.2013, 14:40
    #38506571
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
катастрофа, Первое_слово1 - это слово которое я ищу? Пусть будет "тест"
...
Рейтинг: 0 / 0
19.12.2013, 14:50
    #38506588
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXAN, выложите что есть
...
Рейтинг: 0 / 0
19.12.2013, 15:05
    #38506604
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
катастрофа, код выложить? Так это Ваш же код, что выкладывали выше. Протестируйте на любом документе Word.
Он не ищет и не выделяет найденное слово, а просто вставляет запятую и абзац где находится курсор.
...
Рейтинг: 0 / 0
19.12.2013, 15:18
    #38506620
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
VISXANискал в этом документе определенную фразу и если найдет - выделить ее, а если фразы там нет - процедура просто прекращается без никаких вопросов.
Код: vbnet
1.
2.
3.
4.
Dim k As Range
Set k = ThisDocument.Range
k.Find.Text = "Определенная фраза"
If k.Find.Execute Then k.Select

этот макрос делает то, что вы хотите в текущем документе. Нужна ли помощь в привязке этого макроса к открытию документа?
...
Рейтинг: 0 / 0
19.12.2013, 15:25
    #38506632
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Shocker.Pro, абсолютно ничего не делает этот макрос у меня.
...
Рейтинг: 0 / 0
19.12.2013, 15:27
    #38506634
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
И да, помогите привязать его к открытию документа (любого документа).
...
Рейтинг: 0 / 0
19.12.2013, 16:35
    #38506776
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Shocker.Pro, извините пожалуйста, сразу не заметил, поменял ThisDocument на ActiveDoсument (т.к. пробую макрос в общем документе Normal) и заработало как нужно. Спасибо Вам большое.
Как бы мне теперь сделать, чтобы запускался этот макрос при открытии документа. Знаю что можно записать макрос в ThisDocument событие Open, но в этом случае он будет действовать только на этот документ. А мне нужно чтобы он запускался при открытии любого документа Word.
...
Рейтинг: 0 / 0
19.12.2013, 17:27
    #38506926
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Есть вот такое событие
Код: vbnet
1.
2.
Event DocumentOpen(Doc As Document)
    Member of Word.Application




Только само по себе оно не возникает, нужно определить WithEvents переменную типа Word.Application, повесить на нее обработку этого события. И при запуске ворда (или по кнопке или как вам нравится) присваивать этой переменной ссылку на Word.Application
...
Рейтинг: 0 / 0
19.12.2013, 17:40
    #38506956
VISXAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в открытом документе word определенной фразы
Shocker.Pro, ого, для меня это очень сложно. А почему не работает Auto_open как в Excel (в Excel назвал процедуру Auto_open и она запускается при открытии любой книги, но есть одна загвоздка, не запускается когда Excel уже открыт и открываешь другую книгу). А в Word Auto_open вообще не работает.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск в открытом документе word определенной фразы / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]