活动表的索引号(Microsoft Word)
玛丽正在写一个将拆分表的宏。在活动表上工作不是什么大问题,但是她想复制活动表的第一行,然后拆分表,最后将复制的行粘贴到由拆分创建的新表的第一行。为了正确执行此操作,她想确定Word用于引用Tables集合中的两个表的索引号。玛丽想知道如何(在拆分之前)发现活动表的索引号,因此她可以简单地增加该数字以了解拆分后创建的表的新索引号。
Word的对象模型依赖于将单个对象组织到可以以编程方式访问的集合中。这不仅适用于表,而且适用于段落,图形和许多其他对象。
您可以使用Count属性轻松地找到集合中的对象数。例如,您可以使用以下内容发现文档中有多少张表,因为它返回Tables集合中的对象数:
iNumTables = ActiveDocument.Tables.Count
查找哪个表是当前表比较棘手,但是可以做到。最简单的方法是将书签添加到当前表,然后检查文档中的所有表以查看哪个表包含该书签。找到该表后,便知道哪个表是当前表,然后可以删除书签。下面的宏实现这些步骤:
Sub FindTableNumber() Dim J As Integer Dim iTableNum As Integer Dim oTbl As Table Selection.Bookmarks.Add ("TempBM") For J = 1 To ActiveDocument.Tables.Count Set oTbl = ActiveDocument.Tables(J) oTbl.Select If Selection.Bookmarks.Exists("TempBM") Then iTableNum = J Exit For End If Next J ActiveDocument.Bookmarks("TempBM").Select ActiveDocument.Bookmarks("TempBM").Delete MsgBox "The current table is table " & iTableNum End Sub
要使用宏,只需确保插入点在所需表内即可。宏可以轻松地适应较大的上下文,例如拆分表或进行其他操作的宏。
但是,还有另一种方法可以以编程方式处理Mary想要实现的基本操作-一种不需要为Tables集合使用索引号的方法。您可以复制表的第一行,然后使用类似于以下命令来拆分表:
Selection.Tables(1).Split(5)
该命令将表拆分到第5行。您可以通过更改拆分点的行轻松更改拆分点。然后,可以使用以下命令将插入点移动到下一个表(新创建的表)的开头:
Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext
该命令跳转到下一个表的开头,然后可以粘贴先前复制的标题行。
如果您对如何以编程方式处理表的更详细的讨论感兴趣,可以在这里找到出色的文章:
http://msdn2.microsoft.com/en-us/library/aa537149(office.11).aspx
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(505)适用于Microsoft Word 97、2000、2002和2003。您可以为Word(Word 2007)的功能区界面找到此技巧的版本。和更高版本)在这里: