2017-09-29 7 views
0

J'essaie d'obtenir des lignes entre deux contrôles de contenu dans VBA pour Word. Je souhaite définir un saut de ligne par défaut entre deux contrôles de contenu. S'il y a plus de deux sauts de ligne entre Je veux supprimer les autres. Lorsque vous mon code dans une boucle, la fusion de chaînes dans le contrôle de contenu entraîne plusieurs sauts de ligne après la fusion dans le contrôle de contenu.VBA - Définir le saut de ligne par défaut entre deux contrôles de contenu

Comment puis-je définir deux sauts de ligne par défaut entre deux contrôles de contenu?

Content control A 
- line break 
- line break 
Content control B 
+0

Si vous avez besoin d'aide avec votre code, cela aide beaucoup si vous l'incluez dans votre question. – braX

+0

J'ai trouvé une solution pour cela. Sous RemoveLineBreak() Dim RSTART comme gamme Dim REND comme gamme ActiveDocument.SelectContentControlsByTag ("ContentC1") article (1) .Range.Select Selection.MoveDown Unité:. = WdLine, Count: = 1 Set RSTART = Selection.Range ActiveDocument.SelectContentControlsByTag ("ContentC2") article (1) .Range.Select Selection.MoveUp Unité:. = wdLine, Count: = 1 Set = REND Selection.Range ActiveDocument. Plage (rStart.Start, rEnd.End) .Sélectionnez Selection.Delete Selection.InsertBreak Type: = wdLineBreak End Sub – CaptainYankee

Répondre

0

J'ai trouvé une solution pour cela.

Sub RemoveLineBreak() 

Dim rStart As Range 
Dim rEnd As Range 


    ActiveDocument.SelectContentControlsByTag("ContentC1").Item(1).Range.Select 
    Selection.MoveDown Unit:=wdLine, Count:=1 

Set rStart = Selection.Range 

    ActiveDocument.SelectContentControlsByTag("ContentC2").Item(1).Range.Select 
    Selection.MoveUp Unit:=wdLine, Count:=1 

Set rEnd = Selection.Range 

    ActiveDocument.Range(rStart.Start, rEnd.End).Select 
    Selection.Delete 
    Selection.InsertBreak Type:=wdLineBreak 

End Sub