2012-05-13 1 views
1

L'en-tête et le pied de page peuvent être supprimés à l'aide de la commande de suppression. Mais je veux tout supprimer de l'en-tête/pied de page sauf Formes. Il existe deux plages: TextRange et ShapesRange. Le ShapeRange peut être consulté comme ci-dessous.comment supprimer l'en-tête et le pied de page sauf shaperange

For Each sec In worddoc.Sections 
     For Each hdr In sec.Headers 
      For Each sh In hdr.Shapes 
       If sh.Left > 200 Then 
        'Do something 
       End If 
      Next sh 
     Next hdr 
    Next sec 

Comment supprimer TextRange?

En réglant .TextRange = "" va supprimer les tableaux, les zones de texte? C'est urgent. Votre aide sera très appréciée !!!

+0

Je veux supprimer tout le texte, les champs (zone de texte), des tables d'en-tête, à l'exception des formes. – Jan2012

Répondre

2

Est-ce ce que vous cherchez?

Option Explicit 

Sub Sample() 
    Dim ctl As ContentControl 
    Dim tbl As Table 
    Dim i As Long 

    With ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range 

     On Error Resume Next 
     '~~> Delete all controls like textbox label etc 
     For Each ctl In .ContentControls 
      ctl.Delete 
     Next 

     '~~> Delete all tables 
     For Each tbl In .Tables 
      tbl.Delete 
     Next 
     On Error GoTo 0 

     '~~> Delete all printable/non printable characters 
     For i = 0 To 255 
      With .Find 
       .ClearFormatting 
       .Replacement.ClearFormatting 
       .Text = Chr(i) 
       .Replacement.Text = "" 
       .Forward = True 
       .Wrap = wdFindContinue 
       .Execute Replace:=wdReplaceAll 
      End With 
     Next i 
    End With 

    MsgBox "Done" 

End Sub 

INSTANTANÉ

enter image description here

Questions connexes