Статьи из блога
Статьи из блога
Сортировка данных в строке по алфавиту для Word 2007
Рубрика: Вопрос-Ответ, Макросы, Стили и форматирование
Метки: word 2007 | макросы | сортировка
Среда, 3 декабря 2008 г.
Просмотров: 3637
Подписаться на комментарии по RSS
Версия для печати
Метки: word 2007 | макросы | сортировка
Среда, 3 декабря 2008 г.
Просмотров: 3637
Подписаться на комментарии по RSS
Версия для печати
Андрей интересуется:
Подскажите пожалуйста, как сделать сортировку в Word 2007 по алфавиту значений, находящихся в строчке? Например, вот такие значения в строчке - 63, 53а, 67, 73в, 75а, 69, 69б, 79в, 75б, 73г, 69в и т.д.
Это можно сделать с помощью следующего макроса (подсказал Graham Mayor). Выделите строчку с вашими номерами и примените макрос:
Sub sortNumbers() Dim oRng As Range With Selection .HomeKey wdLine .MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend Set oRng = .Range End With oRng.End = oRng.End - 1 oRng = Replace(oRng, ", ", Chr(13)) oRng.Sort ExcludeHeader:=False, FieldNumber:="Paragraphs", _ SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending oRng = Replace(oRng, Chr(13), ", ") End Sub


Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 4
Если операцию приходится выполнять часто, то конечно лучше написать и использовать макрос.
А так бы разбил строку на отдельные строки, отсортировал эти строки и преобразовал обратно в строку.
1. Заменить запятую и пробел на знак абзаца
2. Таблица - Сортировка
3. Заменить знак абзаца на запятую и пробел
А где в 2007 офисе создать макрос?
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:
http://wordexpert.ru/page/sozdanie-makrosa-iz-gotovogo-koda
http://wordexpert.ru/page/avtomaticheskaya-zapis-makrosa
Данный макрос хорош в том случае если перед цифрами и за ними нет слов.
Может, кто знает, как его переписать, чтобы можно было ссылки на литературные источники сортировать в тексте (объемом 120-150 листов)?
Пример: "слово_1" [1, 5, 4, 2, 8, 3] "слово_2" -> сделать "слово_1" [1, 2, 3, 4, 5, 8] "слово_2".