|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.03.2013, 15:47 | #1 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
Отобрать слова, начинающиеся с заглавных букв
Для изготовления индексов (именных и пр.), которые помещают в конце бумажных книжек, нужен макрос, который бы выбирал все слова длиннее одной буквы (для отсева предлогов и союзов), начинающиеся с заглавных букв (кириллицей и латиницей) и соединял их в список, а потом удалял дубликаты и выстраивал по алфавиту.
Чтобы на выходе получалось так: Амстердам Петров Петрову Скорость Широкий и т.д. Кроме того пригодилась бы в макросе опция отсева слов из заданного списка: "Мы, Однако, Где" и т.п. Хотя это не обязательно, можно и ручками почистить такое. |
23.03.2013, 16:51 | #2 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
|
|
23.03.2013, 17:33 | #3 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
нет, сотня - максимум две.
но вполне устроит, если просто выкинуть два десятка самых ходовых местоимений и предлогов у меня уже есть подобный макрос, но он ограничен по числу слов в индексе несколькими тысячами слов, поэтому не годится даже для средних по размерам книг, к тому же иногда глючит Последний раз редактировалось caute; 23.03.2013 в 17:38. |
23.03.2013, 17:36 | #4 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
caute, значит эти слова должны где-то храниться. Ведь в сам код не станешь же записывать 100 слов.
Слова можно поместить в книгу "Excel". Мне кажется, что это самый удобный способ. Другие варианты: в текстовый файл (расширение txt), в Word-документ. Как вы хотите? |
23.03.2013, 18:09 | #5 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
годится любой вариант, но лично мне приятнее файлик doc
чтоб его можно было обрабатывать другими макросами Word (мало ли, вдруг понадобится) |
23.03.2013, 18:11 | #6 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
а можно и в код записать, но не в тело макроса, а таким связанным макространицем (не знаю, как это правильно назвать, но видел такое в "Методичке")
|
23.03.2013, 19:20 | #7 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Пункт 1
Цитата:
А в Excel-книге всё навиду: вот таблица, заноси в неё данные и всё готово. Нюансы, конечно тоже свои есть - знания и опыт работы в Excel нужен, чтобы учесть какие-нибудь детали, но по идее должно всё гладко пройти. Пункт 2 caute, хорошую идею подали (мне такое в голову не приходило): использовать стандартные модули, как текстовые файлы (имеются ввиду текстовые файлы с расширением "txt"). Ведь стандартный модуль, по идее, - это ведь обычный текстовый файл, который содержит код, который компьютер читает и делает действия. В выложенном документе я использовал предложенный вами вариант. Пункт 3
|
|
23.03.2013, 20:17 | #8 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
исключаемые слова писать в Module_2_list на место "СловоОдин" да?
а что за слова в самом документе: WordOnewordTwo и т.д.? |
23.03.2013, 20:25 | #9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Пункт 1
Цитата:
Код:
Параметр "Item" в нашем случае никакого смысла не имеет - это просто необходимость, чтобы сделать команду "myDictionary_1.Add". В коде я указал букву "A", а сейчас попробовал и оказывается вообще можно ничего не указывать. Пункт 2 Слова в документе, который я выложил, я использовал для тестирования кода. Не обращайте внимание на эти слова. |
|
23.03.2013, 21:16 | #10 |
Форумчанин
Регистрация: 27.10.2009
Сообщений: 277
|
Открыл макрос, скопировал его содержимое в normal.dot, при запуске выдает ошибку.
Compile error: Variable not defined вот тут подсвечивает: Call ModuleList.Procedure_1(myDictionary _1) видимо, что-то сделал не так |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сформировать последовательность заглавных букв | 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 |