Search/Replace 个表的单词 VBA
Word VBA for Search/Replace tables
在 Word 2010 文档中有 30 多个 tables,一些只有文本,其余的财务 tables。我需要将所有财务 table 替换为 [TABLE] 占位符。我如何仅使用 VBA 来 select 财务 table?我想我可以在两个相邻的单元格 select 和 table 中搜索数字(整数),删除它并用文本占位符 [TABLE] 替换它,然后继续查找下一个财务 table?请帮忙
像这样:
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,如果第一个单词是数字,则检查第二行的前两个单元格,如果是,则删除 table 并将[TABLE] 文本和换行。
希望对您有所帮助。
加法:
要检查 4 列或更多列,以及 table 文本中是否存在 $ 符号,请改用此检查:
If oTable.Columns.Count >= 4 Then
If InStrRev(oTable.Range.Text, "$") > 0 Then
在 Word 2010 文档中有 30 多个 tables,一些只有文本,其余的财务 tables。我需要将所有财务 table 替换为 [TABLE] 占位符。我如何仅使用 VBA 来 select 财务 table?我想我可以在两个相邻的单元格 select 和 table 中搜索数字(整数),删除它并用文本占位符 [TABLE] 替换它,然后继续查找下一个财务 table?请帮忙
像这样:
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,如果第一个单词是数字,则检查第二行的前两个单元格,如果是,则删除 table 并将[TABLE] 文本和换行。
希望对您有所帮助。
加法:
要检查 4 列或更多列,以及 table 文本中是否存在 $ 符号,请改用此检查:
If oTable.Columns.Count >= 4 Then
If InStrRev(oTable.Range.Text, "$") > 0 Then