Necesito más...

1 post / 0 nuevos
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Necesito más...

Pues sí, tras dominar (en lo que se deja) el tema de los estilos, las referencias, e incluso las citas, por supuesto las ecuaciones, etc. me veo en la imperiosa necesidad de elaborar una macro.

Mi problema es el siguiente: tengo la configuración del ordenador con los puntos decimales y las comas de separadores de miles. Esto me viene bien con algunos programas que están mal hechos, pues no tienen en cuenta la configuración regional, y si pongo las comas de separador decimal, me dan problemas.

El caso es que estoy redactando un documento en Word, y para rellenarlo, copio y pego tablas desde Excel. Al pegarse, se ponen los puntos y las comas tal y como los tengo definidos, pero como yo estoy escribiendo el documento en español, quiero que los puntos sean separadores de miles y las comas, decimales.

Para ello, selecciono la tabla, le doy al diálogo de sustituir, sustituyo las comas por un símbolo que nunca se dará en un documento (por ejemplo &&Ç). Luego sustituyo los puntos por comas, y finalmente sustituyo el símbolo por puntos. Cada vez que ejecuto la sustitución, Word me pregunta si quiero salirme de la selección. Le contesto que no.

Se me ha ocurrido grabar una macro para hacerlo todo más rápido, pero al ejecutarla, a pesar de hacer referencia a "selection.Find", me hace la búsqueda por todo el resto del documento. Y al tener la opción .Wrap = wdFindAsk, al llegar al final del documento me pregunta si quiero seguir por el principio.

¿Hay alguna manera de confinar esto únicamente al texto seleccionado?

 

Un saludo

 

PD. Adjunto la macro que he grabado, tras quitarle la paja.

    With Selection.Find

        .Text = ","

        .Replacement.Text = "&&Ç"

        .Forward = True

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    With Selection.Find

        .Text = "."

        .Replacement.Text = ","

        .Forward = True

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    With Selection.Find

        .Text = "&&Ç"

        .Replacement.Text = "."

        .Forward = True

    End With

    Selection.Find.Execute Replace:=wdReplaceAll