2016-09-01 16 views
0

私は多くのテーブルを持つワードドキュメントを持っています。最初のセルが指定されたテキストと一致しないテーブルをすべて削除したいのですが、そのためには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 

答えて

0

全ての細胞がChr(13) & Chr(7)で終わるからです。 (手がかりは、デバッグウィンドウの空の行です)。 "Field Name" & Chr(13) & Chr(7)をテストするとうまくいくはずです。

文字を覚えたくない場合は、文字列の左側の部分をテストすることもできます:Left(cellContent, Len(cellContent) - 2) = "Field Name"

関連する問題