原因:
表格既类似于段落,又区别于段落的一个对象,WORD中,不能在段落中插入表格,即表格必须在新“段落”中开始(WORD自动补入一个段落标记),因此,如果,你没有把表格设置为环绕方式时,实际上,表格是处于分页符及其段落标记下方的一个“段落”位置中,由于使用了环绕方式,分页符后的段落标记(即WORD自动补入)处于表格的下方,但其RANGE对象位置,仍然为表格之前,以下代码中可看到:
'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word@ExcelHome 12/24/2005 7:56:17 AM '仅测试于System: Windows NT Word: 10.0 Language: 2052 '№ 0003^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------
Option Explicit
Sub test() Dim myTable As Table, myRange As Range, FirstParText As String Set myTable = ActiveDocument.Tables(1) '表格1可循环 With myTable.Range Set myRange = ActiveDocument.Range(.End + 1, .End + 1) '设置一个RANGE对象为表格下方第一个字符位置,此处就是1后面 myRange.SetRange myRange.Paragraphs(1).Range.Start, myRange.Paragraphs(1).Range.End - 1 '取得表格下方第一段落的文本,不含段落标记 FirstParText = myRange.Text myRange.Delete '删除 myRange.SetRange .Start - 1, .Start - 1 '重新定义一个RANGE对象,为表格前方段落标记前一个位置,相当于分页符和分页符段落记之间的位置 myRange.InsertAfter FirstParText '插入文本 End With End Sub '----------------------
|