我有一个包含许多表格的word文档。我想删除所有第一个单元格与指定文本不匹配的表格,为此我必须遵循VBA脚本。
但If
条件似乎不起作用,它继续为所有表返回true,即使Debug.Print显示不同的名称。
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
答案 0 :(得分:0)
这是因为所有单元都以Chr(13) & Chr(7)
结尾。 (线索将是调试窗口中的空行)。如果你测试"Field Name" & Chr(13) & Chr(7)
它应该有效。
如果您不想记住这些字符,您还可以测试字符串的左侧部分:Left(cellContent, Len(cellContent) - 2) = "Field Name"
。