在Word中插入目录,则目录中所有行都是顶格排列的,如下:1 XX....................1
1.1 XX..................1
1.1.1XX.................1
2 XX....................1
2.1 XX..................1
2.1.1 XX................1能否实现目录中的行按标题级别或编号自动缩进?就是每级编号比上级编号自动缩进2个字符,如下:1 XX....................1
  1.1 XX................1
    1.1.1XX.............1
2 XX....................1
  2.1 XX................1
    2.1.1 XX............1能否自动实现实现?手工调整的不算。谢谢!

解决方案 »

  1.   

    感谢回复,我手工试了一下确实可以。现在有个新的问题:如何用VBA实现这个功能呢?我用录制宏的办法录制了这段VBA代码,在一个新文件里运行,发现生成的目录中各行还是顶格对齐的,没有自动缩进。非得手工操作生成一次目录之后删除掉,再运行VBA代码,才能生成逐行缩进的效果。为什么?谢谢!VBA代码如下:
        With ActiveDocument
            .TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
                True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
                LowerHeadingLevel:=9, IncludePageNumbers:=True, AddedStyles:="", _
                UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _
                True
            .TablesOfContents(1).TabLeader = wdTabLeaderDots
            .TablesOfContents.Format = wdIndexIndent
        End With
      

  2.   

         我是这样设置参数的  
            object UseHeadingStyles = true;
            object UpperHeadingLevel = 1;
            object LowerHeadingLevel = 3;
            object UseFields = false;
            object TableID = "T";
            object RightAlignPageNumbers = true;
            object IncludePageNumbers = true;
            object AddedStyles = true;
            object UseHyperlinks = true;
            object HidePageNumbersInWeb = true;
        生成的目录:
            1.一级目录 2
    1.         1 二级目录 2
    1.         2 二级目录 2     是这样的。
            object UseOutlineLevels = true;
      

  3.   

       我是这样设置参数的:
             range = wApp.Selection.Range;
            object UseHeadingStyles = true;
            object UpperHeadingLevel = 1;
            object LowerHeadingLevel = 3;
            object UseFields = false;
            object TableID = "T";
            object RightAlignPageNumbers = true;
            object IncludePageNumbers = true;
            object AddedStyles = true;
            object UseHyperlinks = true;
            object HidePageNumbersInWeb = true;
            object UseOutlineLevels = true;
            wDoc.TablesOfContents.Add(range, ref UseHeadingStyles, ref  UpperHeadingLevel, ref LowerHeadingLevel, ref UseFields, ref TableID, ref RightAlignPageNumbers, ref IncludePageNumbers, ref AddedStyles, ref UseHyperlinks, ref HidePageNumbersInWeb, ref UseOutlineLevels);         生成的目录如下:
          1.一级目录............2
             1.1 二级目录......2
             1.2 二级目录......2
         2.一级目录............2
             2.1 二级目录......2     
             2.2 二级目录......2
         3.一级目录............2
             3.1 二级目录......2
             3.2 二级目录......2