Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ideas para una macro de Word

Estas en el tema de Ideas para una macro de Word en el foro de Visual Basic clásico en Foros del Web. Un amigo está realizando un curso de ofimática. Dentro de los ejercicios avanzados le ha propuesto uno que nos trae de cabeza. Tenemos una lista ...
  #1 (permalink)  
Antiguo 20/05/2007, 10:34
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Sonrisa Ideas para una macro de Word

Un amigo está realizando un curso de ofimática. Dentro de los ejercicios avanzados le ha propuesto uno que nos trae de cabeza. Tenemos una lista de la compra escrita en word, con elementos que se repiten y otros que no, tipo:

alubias

cerveza

alubias

carne

El ejercicio consiste en hacer una macro que elimine los items que estén repetidos y, una vez que sólo queden los diferentes, cuente cuántos hay.

¿Alguna sugerencia para hacer la macro? Es que estamos perdidos completamente. Somos newbies

Muchas gracias!
  #2 (permalink)  
Antiguo 27/05/2007, 01:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Re: Ideas para una macro de Word

nadie sabe?
  #3 (permalink)  
Antiguo 27/05/2007, 17:05
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Ideas para una macro de Word

Para borrar algo así:

Sub Macro1()

Dim str As String

Dim docActive As Document
Dim rng As Range
Dim nw As Integer

Set docActive = ActiveDocument
nw = ActiveDocument.Words.Count
i = 1

ciclo:
If i >= nw - 1 Then Exit Sub

str = docActive.Words(i)

If str <> Chr(13) Then
Set rng = docActive.Range(Start:=docActive.Words(i + 1).Start, _
End:=docActive.Words(nw).End)
rs = rng.Find.Execute(FindText:=str, Forward:=True, ReplaceWith:="", _
Replace:=wdReplaceAll, MatchWholeWord:=True)
nw = ActiveDocument.Words.Count
Set rng = Nothing
End If

i = i + 1

GoTo ciclo

End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.