在包含30多个表的Word 2010文档中,一些仅包含文本,另一些包含其他财务表。我需要用[TABLE]占位符替换所有财务表。如何使用VBA仅选择财务表?我想我可以在两个相邻的单元格中搜索数字(整数),选择表格,删除它并用文本占位符[TABLE]替换它并继续查找下一个财务表格?请帮忙。
答案 0 :(得分:3)
这样的事情:
Sub ReplaceTables()
Dim oTable As Table
Dim oRng As Range
For Each oTable In ThisDocument.Tables
If oTable.Rows.Count > 1 And oTable.Columns.Count > 1 Then
If IsNumeric(oTable.Cell(2, 1).Range.Words(1).Text) And _
IsNumeric(oTable.Cell(2, 2).Range.Words(1).Text) Then
Set oRng = oTable.Range
oTable.Delete
oRng.Text = "[TABLE]" & vbCrLf
End If
End If
Next
Set oTable = Nothing
Set oRng = Nothing
End Sub
它循环遍历文档中的所有表,如果第一个单词是数字,则检查第二行中的前两个单元格,如果是,则删除表格并改为放置[TABLE]文本和新行。 / p>
希望这有帮助。
<强>加成强>:
要检查4列或更多列,以及表格文本中是否存在$符号,请使用此检查:
If oTable.Columns.Count >= 4 Then
If InStrRev(oTable.Range.Text, "$") > 0 Then