[em06]下面这段宏代码是从守柔斑竹的《wordcode》里面的关于“以指定字符(10个字符)重新划分段落并插入时间序列数”的前半段宏,代码是: Sub CreateParagraph() Dim i As Long, N As Integer On Error Resume Next '忽略错误 Application.ScreenUpdating = False '关闭屏幕更新 With ActiveDocument '将文档中所有段落标记删除 .Content.Find.Execute FindText:="^p", ReplaceWith:="", Replace:=wdReplaceAll For i = 0 To .Content.End Step 10 '以10个字符位置(包括非打印字符)为步长循环 '每段十个字符部分分成段落(注意插入的段落标记也是一个字符) .Range(i, i + 10 + N).InsertAfter Chr(13) N = N + 1 '计算插处的段落标记个数 Next End With Application.ScreenUpdating = True '恢复屏幕更新 End Sub 红色标记的代码里面的"i"我不是很清楚,根据上面步长的设置,i的值为0,10,20,30……,但是每次循环后插入一个段落回车符后,range的起始字符应该是变成0,11,22,33……,这样就和i的设置值不同了,为什么宏还能正常运行呢?还有我将i去掉,改成."Range(, i + 10 + N).InsertAfter Chr(13)",还能正常运行,是不是Range的起始位置对这个宏没有影响呢? 谢谢斑竹的解答!
[此贴子已经被作者于2007-5-11 12:58:03编辑过] |