Añadir un contador en cada punto y aparte.

12/02/2004 - 14:52 por Carlos | Informe spam
Hola, estoy haciendo una macro con Word 2002, con un
texto que estoy "depurando", ahora lo que quiero es que
en cada punto y aparte, me lo conserve y me los numere
consecutivamente. Es decir que si tengo 6 puntos y
aparte, me los vaya contando, 1,2,3..

También de ese mismo texto me gustaría borrar unas
determinadas líneas(parágrafos), por ejemplo las que
contengan la parabra "borrar".

Aquí un ejemplo del texto original:

12/2/04|125|000125333|4501|4511|0.25|
12/2/04|129|000125993|4501|4511|4.85|
12/2/04|115|000112538|4501|4511|0.65|
12/2/04|115| borrar |1501|6511|0.95|
13/2/04|015|000121433|4401|4411|2.75|
13/2/04|251| borrar |1599|6661|1.95|
14/2/04|515|055121433|4401|4411|2.75|

así es como me gustaría que después de ejecutar la macro
quedara:

12/2/04|125|000125333|4501|4511|0.25|1
12/2/04|129|000125993|4501|4511|4.85|2
12/2/04|115|000112538|4501|4511|0.65|3
13/2/04|015|000121433|4401|4411|2.75|4
14/2/04|515|055121433|4401|4411|2.75|5

Muchas gracias por adelantado.
Carlos.
 

Leer las respuestas

#1 David
12/02/2004 - 20:12 | Informe spam
Carlos, ¡Qué ejemplo más raro! Pero muy interesante.

Probá ingresar en VBA el siguiente código. OJO: algunas
líneas muy largas pueden dividirse. Sólo "Sub Borrar()"
y "End Sub" deben principiar al margen izquierdo.

Sub Borrar()
Dim P As Paragraph
Dim T, L As Characters
Dim cp, i, j, n As Integer
Selection.HomeKey Unit:=wdStory
cp = 1
For Each P In ActiveDocument.Paragraphs
T = P
n = Len(T)
j = 0
For i = 1 To n
If UCase(Mid(T, i, 1)) = "B" Then
If UCase(Mid(T, i, 6)) = "BORRAR" Then
j = j + 1
End If
End If
Next i
If j = 0 Then
Selection.MoveDown Unit:=wdParagraph,
Count:=1, Extend:=wdExtend
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.TypeText Text:=" " & cp
Selection.MoveRight Unit:=wdCharacter, Count:=1
cp = cp + 1
Else
Selection.MoveDown Unit:=wdParagraph,
Count:=1, Extend:=wdExtend
Selection.Delete
End If
Next P
End Sub

Hola, estoy haciendo una macro con Word 2002, con un
texto que estoy "depurando", ahora lo que quiero es que
en cada punto y aparte, me lo conserve y me los numere
consecutivamente. Es decir que si tengo 6 puntos y
aparte, me los vaya contando, 1,2,3..

También de ese mismo texto me gustaría borrar unas
determinadas líneas(parágrafos), por ejemplo las que
contengan la parabra "borrar".

Aquí un ejemplo del texto original:

12/2/04|125|000125333|4501|4511|0.25|
12/2/04|129|000125993|4501|4511|4.85|
12/2/04|115|000112538|4501|4511|0.65|
12/2/04|115| borrar |1501|6511|0.95|
13/2/04|015|000121433|4401|4411|2.75|
13/2/04|251| borrar |1599|6661|1.95|
14/2/04|515|055121433|4401|4411|2.75|

así es como me gustaría que después de ejecutar la macro
quedara:

12/2/04|125|000125333|4501|4511|0.25|1
12/2/04|129|000125993|4501|4511|4.85|2
12/2/04|115|000112538|4501|4511|0.65|3
13/2/04|015|000121433|4401|4411|2.75|4
14/2/04|515|055121433|4401|4411|2.75|5

Muchas gracias por adelantado.
Carlos.
.

Preguntas similares