我正在从第三方系统中导入纯文本文档,这些文档是长编号的说明列表。我们将这些文档放入Word中,进行更改,然后将其上传回此第三方系统。但是,当我们进行更改时,这会导致我们所有列表的排列顺序混乱,因此我们必须重新输入并对其重新编号。我想使用VBA进行此操作,因为我们有成百上千的文档需要进行这些更改。
有人对此有什么建议吗?我正在考虑单步执行每个段落(每个指令是一个段落),确定哪些以数字开头,因此需要重新标记(某些段落没有编号步骤),删除现有数字,然后用下一个数字替换该删除的数字按顺序。
我找到了一些可能会使用的带有代码块的站点,但是想看看我是否正在按照正确的方式进行操作,或者是否应该尝试其他策略,例如将每个段落更改为自动编号我逐步浏览这些段落。
答案 0 :(得分:1)
对于可能选择的一系列简单的带编号段落,可以使用如下代码:
Sub Demo()
With Selection.Range.ListFormat
.ApplyNumberDefault
.ApplyListTemplate ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(1), ContinuePreviousList:=True
End With
End Sub
请注意,段落缩进可能会更改,并且这样的代码还将对所选内容中所有未编号的段落进行编号,因此请谨慎选择。
答案 1 :(得分:0)
这是一个完美的切换
Sub BulletNumeric()
'
' BulletNumeric Macro
'
'
Dim lfTemp As ListFormat
Dim intContinue As Integer
If Selection.Range.ListFormat.ListString = "1." Then
Selection.Style = "Bullet Numbered"
Else
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
ListGalleries(wdOutlineNumberGallery).ListTemplates(7), _
ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
DefaultListBehavior:=wdWord10ListBehavior
End If
End Sub
第一次单击它,它将得到1。下次,它将简单地从以前的一个继续。