2016-03-22 11 views
0

アクティブなドキュメントのすべてのコンテンツコントローラ(LokedおよびUnlocked)をテキストを削除せずに削除する必要があります。私はこれを検索し、マクロを見つけました。しかし、私はそれが適切に動作していないと思う。MS Wordのすべてのコンテンツコントロールを削除するメソッドまたはマクロはありますか?

Word VBA to delete Content Controls with specific Tags

それがこれを行うことは可能ですか?

編集: 私は以下のコードを試しました。テキストコンテンツを含むコンテンツコントローラが削除されます。私はコンテンツコントローラだけを削除する必要があります。

Sub Test() 
Dim objCC As ContentControl 
Do While ActiveDocument.ContentControls.Count > 0 
For Each objCC In ActiveDocument.ContentControls 
objCC.Delete True 
Next 
Loop 
End Sub 
+2

どのように正常に動作していませんか? –

+1

ActiveDocument.ContentControlsをループし、各項目を削除します。 –

+0

@ Cindy Meister:正常に動作していないということは、マクロコードを実行した後でドキュメントに変更がないことを意味します。私はこのドキュメントからコンテンツコントローラを削除しようとしました。 [ダウンロード](https://drive.google.com/open?id=0B1yWnlyZ8msEM2JHeFdxa1VLX2M) – Thilina

答えて

0

私は自分自身の方法で答えを見つけた:)誰かに

Public Sub Test() 

    Dim oRng As Range 
    Dim CC As ContentControl 
    Dim LC As Integer 
    Dim LRCC As Integer 
    Dim LTCC As Integer 
    Dim LE As Boolean 

'Remove all content controls 
Set oRng = ActiveDocument.Content 
LTCC = LTCC + oRng.ContentControls.Count 
For LC = oRng.ContentControls.Count To 1 Step -1 

Set CC = oRng.ContentControls(LC) 
If CC.LockContentControl = True Then 
    CC.LockContentControl = False 
End If 
CC.Delete 
If Not LE Then 
    LRCC = LRCC + 1 
    End If 
    LE = False 
Next 
End Sub 

この意志便利。

1

この回答に感謝します。私が探していたものでした。私は以下を使用して終了しました:

Sub ContentControlRemoval() 
' 
'Remove all content controls 
Set oRng = ActiveDocument.Content 
LTCC = LTCC + oRng.ContentControls.Count 
For LC = oRng.ContentControls.Count To 1 Step -1 

Set CC = oRng.ContentControls(LC) 
If CC.LockContentControl = True Then 
    CC.LockContentControl = False 
End If 
CC.Delete 
If Not LE Then 
    LRCC = LRCC + 1 
    End If 
    LE = False 
Next 
End Sub 
関連する問題