2017-04-24 1 views
2

私はいくつかのテーブルを含む文書を持っています。一部の表は、「NTS」で始まるブックマーク名でブックマークされ、他の表はブックマークされません。私は名前が "NTS"で始まるすべてのテーブルを削除するための負のステップforループを作成しました。ただし、テーブルにブックマークがない場合は、エラーが発生します(予期しない)。だから私はテーブルに関連付けられているブックマークがあるかどうかテストし、そうでなければ次のテーブルに移動したいと思います。これを実行しようとする私のif文は動作しません(starlow bellow)。助言がありますか?文書の各テーブルにブックマークが存在するかどうかのテスト

Dim tableCount As Integer 
Dim tableNumber As Integer 
Dim bookmarkName As String 
' 
tableCount = ActiveDocument.Tables.Count 
' 
For tableNumber = tableCount To 1 Step -1 
    ActiveDocument.Tables(tableNumber).Select 
    *If Selection.Bookmarks(1).Exists = False Then 
     GoTo Furthermore 
    End If* 
    bookmarkName = Selection.Bookmarks(1).Name 
    If Left(bookmarkName, 3) = "NTS" Then 
     ActiveDocument.Tables(tableNumber).delete 
     ActiveDocument.Bookmarks(bookmarkName).delete 
    End If 
Furthermore: 
Next 
+0

これはWordまたはVB.netで使用していますか?私にはword-vbaのように見えます。 – Masoud

+0

はい、私はWord VBAを使用しています。そして、それはそれのように見えます。あなたの助けのために多くのおかげです! – DAn

答えて

0

代わりに、この(メソッドhereを確認してください)使用:使用しようとしている1は、以下のような引数、ブックマークの名前を、(hereを、それをチェックアウト)が必要

If Selection.Bookmarks.Count = 0 Then GoTo Furthermore 

を:

Selection.Bookmarks.Exists("NTS_example") 
関連する問題