【问题标题】:Delete all tables from Word document where first cell text doesn't match从 Word 文档中删除第一个单元格文本不匹配的所有表格
【发布时间】:2021-04-03 18:24:29
【问题描述】:

我有一个包含许多表格的 Word 文档。我想删除第一个单元格与指定文本不匹配的所有表格,为此我必须遵循 VBA 脚本。

但If 条件似乎不起作用;即使 Debug.Print 显示不同的名称,它也会对所有表返回 true。

Sub EWT()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        t.Style = "Table Grid"
        
        'If t.Cell(1, 1).Range.Text <> "Field Name" Then
        If Not t.Cell(1, 1).Range.Text = "Field Name" Then
            't.Delete
            Debug.Print t.Cell(1, 1).Range.Text
        End If
    Next
End Sub

来自Debug.Print的一个块:

Field Name

PRIMARY KEY NAME

Field Name

PRIMARY KEY NAME

Field Name

Field Name

Field Name

PRIMARY KEY NAME

Field Name

PRIMARY KEY NAME

Field Name

PRIMARY KEY NAME

Field Name

PRIMARY KEY NAME

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    这是因为所有单元格都以Chr(13) &amp; Chr(7) 结尾。 (线索将是调试窗口中的空行)。如果您测试"Field Name" &amp; Chr(13) &amp; Chr(7),它应该可以工作。

    如果您不想记住字符,也可以测试字符串的左侧部分:Left(cellContent, Len(cellContent) - 2) = "Field Name"。

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 2019-04-10
      • 2019-02-07
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      相关资源
      最近更新 更多