Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Нумерация каждого списка в документе заново

Ответить
Настройки темы
2010 - [решено] Нумерация каждого списка в документе заново

Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый вечер.
Есть документ на 2000 тысячи страниц, doc-формата. Структура документа такова, что через каждые пару страниц встречаются списки. Их все нужно пронумеровать начиная с 1, а не как единый большой список.
Благодарю.

-------
Кто реку перешел, тому росы бояться ни к чему


Отправлено: 19:57, 19-02-2019

 

Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874

Профиль | Отправить PM | Цитировать


Цитата Iska:
попробуйте вставить в модуль «ThisDocument» искомого документа и выполнить следующий код макроса »
Прошу прощения, не совсем ясно, что я должен проделать... Можете более подробно описать эту процедуру, особенно, что касается текста "ThisDocument". Спасибо.

-------
Кто реку перешел, тому росы бояться ни к чему


Отправлено: 23:28, 19-02-2019 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Открыть искомый документ. Нажать Alt-F11, открыв Редактор VBA. Найти в окне Project Explorer (если этого окна не видно — нажать Ctrl-R) проект искомого документа, раскрыть его (если потребно), развернуть до модуля ThisDocument, щёлкнуть по последнему правой кнопкой мышки, в появившемся контекстном меню выбрать View Code (или просто выделить модуль и нажать F7):
Скрытый текст

В открывшееся окно вставить скопированный код со страницы конференции. Теперь можно выполнить код этого макроса (проще всего установить курсор где-нибудь внутри процедуры и нажать F5). Сам код впоследствии, после отработки, можно просто удалить.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:42, 19-02-2019 | #12


Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Example.zip
(12.4 Kb, 4 просмотров)

Iska,

Почти превосходно. Два момента:
  1. Подлатайте, плиз, код. Новый пример во вложении: отличие в последнем пункте.
  2. Когда ваш код срабатывает на моем первоначальном примере, он меняет шрифт во всех последующих пунктах (Courier New), кроме первого (Times New Roman). Сделайте, если можно, чтобы все было таким же шрифтом как в примере, то есть - Times New Roman.
Благодарю.


Добавлено.
Первый пункт доработан самостоятельно.
Второй пункт тоже:
Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim objParagraph As Paragraph
    Dim boolStartNum As Boolean
    Dim lngStartCharacter As Long
    Dim lngEndCharacter As Long
    
    
    boolStartNum = False
    
    For Each objParagraph In ThisDocument.Content.Paragraphs
        If StrComp(Trim(Replace(objParagraph.Range.Text, vbCr, "")), "Додатки:", vbTextCompare) = 0 Then
            boolStartNum = True
            lngStartCharacter = objParagraph.Range.Characters.Last.End
        Else
            If boolStartNum Then
                If StrComp(Trim(Replace(objParagraph.Range.Text, vbCr, "")), "Копія довіреності на право підпису.", vbTextCompare) = 0 Then
                    boolStartNum = False
                    lngEndCharacter = objParagraph.Range.Characters.Last.End
                    
                    With ThisDocument.Range(lngStartCharacter, lngEndCharacter).ListFormat
                        .RemoveNumbers NumberType:=wdNumberParagraph
                        .ApplyListTemplate _
                            ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(1), _
                            ContinuePreviousList:=False, _
                            ApplyTo:=wdListApplyToWholeList, _
                            DefaultListBehavior:=wdWord10ListBehavior
                    End With
                End If
            End If
        End If
    Next
	
ActiveDocument.Range.Font.Color = wdColorAutomatic
ActiveDocument.Range.Font.Name = "Times New Roman"
ActiveDocument.Range.Font.Size = 12
End Sub
Добавлено три строки, они выделены жирным в коде.

-------
Кто реку перешел, тому росы бояться ни к чему


Последний раз редактировалось Казбек, 21-02-2019 в 23:03.


Отправлено: 21:12, 21-02-2019 | #13



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Нумерация каждого списка в документе заново

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2007 - [решено] Разная нумерация старниц в одном документе Sandre Microsoft Office (Word, Excel, Outlook и т.д.) 41 10-06-2015 14:05
[решено] Заново создал домен pminaeff Windows Server 2012/2012 R2 43 28-03-2013 23:24
RAID - Как запустить заново RAID 1 Skillax Металлолом 1 14-05-2012 19:16
Звук - Помогите заново настроить kykysa Прочее железо 2 03-08-2011 18:22
Разное - Определить USB устройтво заново lxa85 Microsoft Windows 2000/XP 16 21-10-2009 15:52




 
Переход