怎么用一段vba代码做系统录入(WordVBA多级编号的设置)
文档中样式“标题 1”到“标题 9”分别链接到相应级别列表
各级列表与文字间不用默认的制表符连接,而用空格连接
完成对激活文档(当前文档)光标所选区域符合要求的标题段落(样式为“标题 n”的段落)应用此列表
多级列表目标效果
二、代码
Sub 多级列表()
Dim numFormatStr As String
Dim i As Byte
Dim doc As Document
Dim listTemp As Word.ListTemplate
Set doc = ActiveDocument
Set listTemp = Word.Application.ListGalleries(wdOutlineNumberGallery).ListTemplates(1)
For i = 1 To 9
numFormatStr = numFormatStr & ".%" & i
If Left(numFormatStr, 1) = "." Then
numFormatStr = Mid(numFormatStr, 2)
End If
With listTemp.ListLevels(i)
.NumberFormat = numFormatStr
.TrailingCharacter = Word.WdTrailingCharacter.wdTrailingSpace
.NumberStyle = Word.WdListNumberStyle.wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = Word.WdListLevelAlignment.wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.ResetOnHigher = i - 1
.StartAt = 1
.LinkedStyle = "标题 " & i
With .Font
.name = doc.Styles("标题 " & i).Font.name
.NameFarEast = doc.Styles("标题 " & i).Font.NameFarEast
.Size = doc.Styles("标题 " & i).Font.Size
.Bold = doc.Styles("标题 " & i).Font.Bold
.Italic = doc.Styles("标题 " & i).Font.Italic
End With
End With
Next
For Each pa In Selection.Paragraphs
If pa.Style.NameLocal Like "标题 #" Then
pa.Range.ListFormat.ApplyListTemplateWithLevel _
ListTemplate:=listTemp, _
ContinuePreviousList:=True, _
ApplyTo:=wdListApplyToWholeList, _
DefaultListBehavior:=wdWord10ListBehavior
End If
Next
Set doc = Nothing
Set listTemp = Nothing
End Sub
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com