![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Не помню сортировки. Был макрос по выделению всего заголовка, но не сортировки
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#12 |
Регистрация: 22.12.2009
Сообщений: 6
|
![]()
Участники.doc
Вот пример файла. Заголовки 15 размером шрифта, по ним надо сортировать содержимое. |
![]() |
![]() |
![]() |
#13 |
Регистрация: 22.12.2009
Сообщений: 6
|
![]()
Сортируются лишь заголовки, текст за ними остается как был
|
![]() |
![]() |
![]() |
#14 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Sasha_Smirnov оказался абсолютно прав.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#15 |
Регистрация: 22.12.2009
Сообщений: 6
|
![]()
Дело в том, что очень много заголовков, как и файлов требующих форматирования. Можно как-то автоматизировать процесс если все(и только) заголовки используют 15-й шрифт?
|
![]() |
![]() |
![]() |
#16 | |
Форумчанин
Регистрация: 09.07.2009
Сообщений: 111
|
![]() Цитата:
А вот что у меня получилось с помощью макрорекордера, рашпиля и такой-то матери: *** Sub сортировщик() ' ' сортировщик Макрос ' Макрос записан 23.12.2009 garik64 ' Dim sorter As Boolean Do While Not sorter Selection.Find.ClearFormatting With Selection.Find .Font.Size = 15 .Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.Style = wdStyleHeading1 Selection.Find.ClearFormatting If Not Selection.Find.Found Then sorter = True End If Loop ActiveWindow.ActivePane.View.Type = wdMasterView Selection.Range.Paragraphs.OutlineL evel = wdOutlineLevel1 ActiveWindow.ActivePane.View.Collap seOutline Range:=Selection.Range Selection.MoveDown Unit:=wdLine, Count:=1 Selection.Sort ExcludeHeader:=False, FieldNumber:="абзацам", SortFieldType _ :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _ :="", SortFieldType2:=wdSortFieldAlphanum eric, SortOrder2:= _ wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _ wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _ wdSortSeparateByTabs, SortColumn:=False, CaseSensitive:=False, LanguageID _ :=wdRussian, SubFieldNumber:="абзацам", SubFieldNumber2:="абзацам", _ SubFieldNumber3:="абзацам" Selection.HomeKey Unit:=wdStory ActiveWindow.ActivePane.View.Expand Outline Range:=Selection.Range If ActiveWindow.View.SplitSpecial = wdPaneNone Then ActiveWindow.ActivePane.View.Type = wdPrintView Else ActiveWindow.View.Type = wdPrintView End If End Sub **** Вопрос знатокам: что здесь не так? Работает, но Do-While выполняет один лишний раз. Или не лишний? Условие "If Not Selection.Find.Found Then sorter = True" выполняется, но всё равно происходит loop, всё повторяется, а уже потом уходит дальше. ЧЯДНТ? |
|
![]() |
![]() |
![]() |
#17 |
Регистрация: 22.12.2009
Сообщений: 6
|
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка слов по алфавиту | dom1nator | Помощь студентам | 0 | 11.11.2009 00:04 |
сортировка по алфавиту на си++ | Craz | Помощь студентам | 2 | 01.10.2009 23:33 |
Сортировка слов по алфавиту | victorio | Microsoft Office Word | 7 | 15.12.2007 19:03 |
Сортировка по алфавиту | ЧИЖ | Общие вопросы Delphi | 1 | 16.03.2007 14:17 |