Перенумеровать ручной список номеров в Word, используя VBA - PullRequest
0 голосов
/ 07 июня 2019

Я импортирую текстовые документы из сторонней системы, которые представляют собой длинные нумерованные списки инструкций.Мы помещаем эти документы в Word, вносим изменения и загружаем их в эту стороннюю систему.Но когда мы вносим изменения, это приводит к тому, что все наши списки не соответствуют друг другу, и нам приходится возвращаться и перенумеровывать их вручную.Я хотел бы сделать это с помощью VBA, поскольку у нас есть сотни документов, которые потребуют этих изменений.

У кого-нибудь есть предложения, как это сделать?Я думал о том, чтобы пройтись по каждому абзацу (каждая инструкция является абзацем), определить, какие из них начинаются с цифр и, следовательно, их необходимо поменять (некоторые абзацы не пронумерованы), удалить существующий номер, заменив этот удаленный номер следующим номером.по порядку.

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

1 Ответ

1 голос
/ 08 июня 2019

Для простой серии нумерованных абзацев, которые вы можете выбрать, вы можете использовать код, подобный следующему:

Sub Demo()
With Selection.Range.ListFormat
  .ApplyNumberDefault
  .ApplyListTemplate ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(1), ContinuePreviousList:=True
End With
End Sub

Имейте в виду, что отступ абзаца может измениться и что такой код также будет нумеровать любые ненумерованные абзацы ввыбор Так что будьте осторожны с тем, что вы выбираете.

...