Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 3 ]
- Зарегистрирован: 19.05.2014
- Сообщений: 69
- Поблагодарили: 21
Тема: Автоматическая нумирация рисунков
Как-то очень странно работает макрос: Нормально отрабатывает только на нечетном количестве рисунков, притом в 2 прохода. На четном количестве белиберду выдает. В режиме дебагера показывает выполнения нужных команд, но изменения в документ не вносятся.
Макрос
Sub try()
'
' try Макрос
'
'
For i = 0 To 100 Step 1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^g"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
If .Found = True Then
Selection.Find.Execute
Selection.InsertCaption Label:="Рис.", TitleAutoText:="InsertCaption3", _
Title:="", Position:=wdCaptionPositionBelow, ExcludeLabel:=0
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.Style = ActiveDocument.Styles("Цитата 2")
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeText Text:=". "
i = i + 1
Else
Exit For
End If
End With
Next
End Sub
- Boris_R
- полковник
- Неактивен
- Зарегистрирован: 07.08.2012
- Сообщений: 234
- Поблагодарили: 110
- За сообщение: 1
Re: Автоматическая нумирация рисунков
1. В начале макроса перед циклом FOR вставьте строку:
CaptionLabels.Add Name:="Рис."
2. Удалите внутри цикла FOR следующую строку:
В букварях по программированию не рекомендуют изменять значение счетчика цикла в теле цикла FOR, т.к. это может привести к непредсказуемым результатам.
С предложенными изменениями макрос нормально отработал на тестовых примерах с 2, 3, 4 и 5 рисунками Ворд.
- Зарегистрирован: 19.05.2014
- Сообщений: 69
- Поблагодарили: 21
Re: Автоматическая нумирация рисунков
К сожалению, ваше решение не помогло, причина, наверное, в чем-то еще.
Запустив выполнения макроса по шагам я выявил, что почему-то при переходе на строчку
Selection.InsertCaption Label:="Рис.", TitleAutoText:="InsertCaption3", _
Title:="", Position:=wdCaptionPositionBelow, ExcludeLabel:=0
происходит самопроизвольный переход к следующему рисунку
таким образом нумеруются четные рисунки.
Если количество рисунков не четное, то при повторном проходе, подобный прыжок происходит с точностью наоборот, т.е. четные рисунки, которые уже были пронумерованы почему-то пропускаются.
Если количество рисунков четное, то поведение повторяется, и четные рисунки нумеруются дважды, а нечетные пропускаются.
использую word 2010.
Сообщений [ 3 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Автоматическая нумирация рисунков
Любое программное обеспечение требует настройки и понимания принципов работы. Но большинство современных приложений имеют интуитивный интерфейс, с которым легко и удобно разобраться пользователю. На портале о Microsoft Office Word вы узнаете про: как на компьютере написать дробь.
К таким относится и Ворд, текстовый редактор, наиболее популярный, как у нас в стране, так и за рубежом. Наш сайт о Microsoft Office Word даст ответ про: отключение клавиш.
Для более глубокого изучения и оптимизации и организации работы в Ворде вам потребуются уже специальные справочники, мастер-классы, пособия. На портале о Microsoft Office Word вы узнаете про: исчезли рамки рисунки word.
Все это собрано в одном месте – на форуме сайта Ворд Эксперт.
Здесь можно найти любую информацию о настройках различных версий, о назначениях и функции горячих клавиш, способах выполнения типовых и нестандартных задач, связанных с форматированием или редактированием текстов, постройкой таблиц и диаграмм и многого другого. Наш сайт о Microsoft Office Word даст ответ про: как активировать майкрософт офис 2007.
На форуме собраны как готовые шаблоны для Ворда, и макросы, назначенные для самых разнообразных операций, так и основы их написание. На портале о Microsoft Office Word вы узнаете про: сумма перевести в слова.
Участник всегда может оставить заявку на выполнение любой работы в Ворде в соответствующем разделе.
Форум будет полезен и новичкам, так как информация здесь представлена в очень доступном виде, и опытным пользователям, которым самим есть чем поделиться с другими. Наш сайт о Microsoft Office Word даст ответ про: преимущества экселя перед вордом.
Взаимно обмениваясь секретами и хитростями управления приложением, участники делают свою работу гораздо более легкой, удобной и быстрой. Наш сайт о Microsoft Office Word даст ответ про: программа перевода pdf в word.