怎么用一段vba代码做系统录入(WordVBA多级编号的设置)

一、需要达到的效果

文档中样式“标题 1”到“标题 9”分别链接到相应级别列表

各级列表与文字间不用默认的制表符连接,而用空格连接

完成对激活文档(当前文档)光标所选区域符合要求的标题段落(样式为“标题 n”的段落)应用此列表

怎么用一段vba代码做系统录入(WordVBA多级编号的设置)(1)

多级列表目标效果

二、代码

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

    分享
    投诉
    首页