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

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

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

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

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

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

caute, модулю, в котором находятся слова-исключения, нужно дать имя "ModuleList", а процедуре, которая в нём находится, нужно дать имя "Procedure_1".


Примечание

Модули можно левой кнопкой мыши перетаскивать из одного VBA-проекта - в другой.
Скрипт вне форума Ответить с цитированием
Старый 23.03.2013, 21:38   #12
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Почему не использовать предметный указатель?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 23.03.2013, 22:01   #13
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Ура! Заработало!
Обработал большую книжку (миллион двести тыс. знаков с пробелами) за 30 сек. Жаль, только сноски не обрабатывает, ни концевые, ни постраничные. Можно их добавить еще?
Спасибо!
Цитата:
Почему не использовать предметный указатель?
Вот этот полученный список надо перешерстить, выбрав нужные имена из списка, а потом загнать их в указатель Word. Макрос был нужен как раз для отбора в тексте имен для указателя.
А еще где-то у меня был макрос, который позволяет предметный указатель из списка слов делать с номерами страниц, на которых данные слова из списка встречаются. Правда, тот макрос глючный был какой-то.

Последний раз редактировалось caute; 23.03.2013 в 22:19.
caute вне форума Ответить с цитированием
Старый 23.03.2013, 22:35   #14
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Прежний модуль "ModuleMain" удалите, а этот модуль импортируйте, для этого:
  1. разархивируйте архив;
  2. перейдите в программу "VBA" - File - Import File... - выберите файл, который только что разархивировали, - Открыть;
  3. в "VBA" появится модуль "ModuleMain".

Примечание

Если данных будет очень много, то макрос надо будет усовершенствовать. Например, объект "Dictionary" при 300 тысячах элементах (может ошибаюсь - точно не помню) уже начинает медленно работать при добавлении в него новых элементов.
И в конце я помещаю все данные из "Dictionary" в одну переменную с типом данных "String" - может не хватить места в этой переменной.
Но эти проблемы не страшны, т.к. вы будете знать о том, что у вас что-то не то: с "Dictionary" макрос будет просто медленно работать, а со "String" выскочит ошибка. Так что ошибку вы не пропустите.
Вложения
Тип файла: zip ModuleMain.zip (2.7 Кб, 9 просмотров)

Последний раз редактировалось Скрипт; 24.03.2013 в 06:06.
Скрипт вне форума Ответить с цитированием
Старый 23.03.2013, 22:48   #15
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Теперь идеально. Еще раз благодарствую!
Добавил в макрос список игнорируемых слов, русских и английских. Может, кому-то еще пригодится, прикрепляю.
Вложения
Тип файла: zip nameindex.zip (4.5 Кб, 151 просмотров)

Последний раз редактировалось caute; 24.03.2013 в 13:13.
caute вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать последовательность заглавных букв Anka1101 Помощь студентам 24 14.02.2013 17:34
вывести слова начинающиеся с латинских букв alex(21) Общие вопросы C/C++ 5 08.03.2012 19:11
Поиск заглавных букв sergei64_89 SQL, базы данных 1 08.10.2011 09:25
Сортировка заглавных и строчных букв Ronk Общие вопросы C/C++ 6 03.03.2010 19:44
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29