Word中的合并表格如下,现在需要根据子类
(例如:果汁)查找对应的品类
,如果这是Excel表格,那么即使包含合并单元格,也很容易处理,但是使用Word VBA进行查找,就需要一些技巧。
示例代码如下:
Sub Demo()Dim oTab As Table, oCell As CellDim Cat1 As String, Cat2 As StringConst TARGET = "果汁"Set oTab = ThisDocument.Tables(1)For Each oCell In oTab.Range.CellsIf oCell.ColumnIndex = 2 ThenCat2 = Left(oCell.Range.Text, Len(oCell.Range.Text) - 2)If Cat2 = TARGET ThenoCell.SelectSelection.MoveLeft wdCellCat1 = SelectionDebug.Print Cat1 & vbTab & Cat2Exit ForEnd IfEnd IfNext
End Sub
【代码解析】
第4行代码定义要查找的子类名称。
第5行代码获取文档中的第一个表格对象。
第6~16行代码循环遍历表格单元格。
第7行代码判断单元格的列号。
第8行代码读取第二列单元格的值,使用Left去除单元格的结束标志字符。
第9行代码判断是否为待查找的子类。
第10行代码选中第二列单元格。
第11行代码向左移动一个单元格,此时将选中对应的第一列单元格。
第12行代码读取类目名称。
第13行代码输出结果。
第14行代码结束For循环。
输出结果如下所示:
饮料 果汁