Gonduana

Contenidos para traductores

  • Blog
  • Empieza por aquí
    • Encuesta: coger
    • Encuesta: ratón o mouse
    • Artículos más leídos
    • Vídeos más vistos
    • Gonduana en las redes sociales
    • ¿Quieres saber más sobre mí?
  • Recursos
    • Software para traductores
    • Hardware para traductores
    • Internet para traductores
    • WordPress para traductores
  • Sobre mí
  • Servicios
  • Contacto

Mis macros de Word para ordinales (Marisa E Schieda)

Publicado el 11/noviembre/2019 por María Schieda

Macros de Word para ordinales

Este artículo es el segundo programado de Marisa E. Schieda, una correctora y bloguera argentina que quiere compartir contigo sus macros de Word para ordinales. Ya sabes que los ordinales son, por ejemplo, 1.º, 2.º, 3.ª, 4.ª, etc. No te pierdas el artículo de Marisa y descágarte la macro al final del artículo.

Te dejo ya con Marisa.

Introducción

Marisa E. Schieda

Antes de preparar la macro, hay que tener en cuenta dos cosas respecto a la ortografía de los ordinales:

  1. La cifra se separa de la voladita (º para masculino, ª para el femenino) con un punto.
  2. El grupo cifra, punto y voladita se separa con un espacio de no separación de la siguiente palabra.

Ni más ni menos.

Nomenclatura de colores

  • los patrones de búsqueda irán sobre fondo rojo, por ejemplo, (Gond[uw]ana);
  • cada patrón encontrará una cadena, por ejemplo Gonduana, sobre fondo de color azul;
  • si un patrón NO encuentra una cadena, por ejemplo Pangea, se marcará sobre un fondo de color gris;
  • el patrón de sustitución, por ejemplo Blog \1, irá sobre fondo amarillo;
  • la cadena final sustituida será Blog Gonduana, e irá sobre fondo de color verde.

⁂

Macros para ordinales

Marisa E. Schieda

A partir de la dinámica de los patrones del artículo anterior sobre abreviaturas de número, pueden elaborarse, también, patrones de búsqueda para la corrección de aquellas abreviaturas de ordinales que estuviesen mal escritas (no me canso de remitir, para cualquier duda acerca de comodines y patrones de búsqueda en Word, a la entrada de Jesús “Los comodines de Word a fondo: teoría y práctica”).

Hay que considerar, como ya indiqué al comienzo, que no verifica la concordancia del ordinal en género y en número con el sustantivo al que modifica.

Sus acciones básicas:

  • Coloca punto entre cifra y voladita ª/º (casos sin espacio entre cifra y voladita).
  • Cambia cualquier espacio o/y punto entre cifra y voladita por solo punto.
  • Busca cifra seguida de espacios + voladita + punto.
  • Busca cifra seguida de espacios + voladita + espacios + punto.
  • Elimina doble puntuación.
  • Agrega espacio entre cifra y voladita para habilitar búsqueda y reemplazo de espacio por espacio de no separación.
  • Búsqueda y reemplazo de espacio por espacio de no separación.
  • Casos particulares:
    • 2.do/2do → 2.º
    • 2.da/2da → 2.ª
    • 7.mo/7mo → 7.º
    • 7.ma/7ma → 7.ª

Patrones de búsqueda y sustitución para ordinales

Donde:

  • ([0-9]) encuentra un número del 0 al 9;
  • ([a-zA-Z]) encuentra una letra de la A al Z, sin importar las mayúsculas/minúsculas;
  •  ,  @ o [ ]@ encuentran cualquier espacio (uno   o más      ).

⁂

1. Agrega punto entre cifra y ordinal (sin espacio entre ambos)

Ejemplo: reemplaza 1º por 1.º

Buscar: ([0-9])([ºª])
Reemplazar con: \1.\2

With Selection.Find
       .Text = "([0-9])([ºª])"
       .Replacement.Text = "\1.\2"
       .Forward = True
       .Wrap = wdFindContinue
       .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

2. Agrega espacio entre ordinal y palabra siguiente

Para posibilitar paso 3…

Ejemplo: reemplaza 2.º E por 2.º E

With Selection.Find
       .Text = "([0-9].[ºª])([a-zA-Z])"
       .Replacement.Text = "\1 \2"
       .Forward = True
       .Wrap = wdFindContinue
       .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

3. Sustituye espacios entre cifra y ordinal por punto

Ejemplo: reemplaza 3 ª por 3.ª

  • Encuentra un número ([0-9]) → término \1,
  • seguido por uno o más espacios [ ]@,
  • seguidos por las voladita ([ºª]) → término \2,
  • y reemplaza lo encontrado por el término (1) seguido de punto e inmediatamente (2). Ej. 12   ª → 12.ª.

Buscar: ([0-9]) @(ª)
Reemplazar con: \1.\2

With Selection.Find
       .Text = "([0-9]) @([ºª])"
       .Replacement.Text = "\1.\2"
       .Forward = True
       .Wrap = wdFindContinue
       .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

4. Corrige doble puntuación en ordinal

Ejemplo: reemplaza 4.ª. por 4.ª

Buscar: ([0-9].[ºª])(.)
Reemplazar con: \1

With Selection.Find
       .Text = "([0-9].[ºª])(.)"
       .Replacement.Text = "\1"
       .Forward = True
       .Wrap = wdFindContinue
       .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

5. Corrige casos frecuentes

Buscar: 2.do, 2do, 2.da, 2da
Reemplazar con: 2.º o 2.ª

Buscar: 7.do, 7do, 7.da, 7da
Reemplazar con: 7.º o 7.ª

⁂

5. a) 2.do, 2do y 2.da, 2da → 2.º/2.ª

Ejemplo: reemplaza 2.do, 2do por 2.º, y 2.da, 2da por 2.ª

With Selection.Find
        .Text = "2.do"
        .Replacement.Text = "2.º"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
        .Text = "2do"
        .Replacement.Text = "2.º"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
   
With Selection.Find
        .Text = "2.da"
        .Replacement.Text = "2.ª"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
 End With
 Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
        .Text = "2da"
        .Replacement.Text = "2.ª"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

5. b) 7.ma, 7ma y 7.mo, 7mo → 7.ª /7.º

Ejemplo: reemplaza 7.mo, 7mo por 7.º, y 7.ma, 7ma por 7.ª

With Selection.Find
        .Text = "7.ma"
        .Replacement.Text = "7.ª"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
        .Text = "7ma"
        .Replacement.Text = "7.ª"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
   
With Selection.Find
        .Text = "7.mo"
        .Replacement.Text = "7.º"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
        .Text = "7mo"
        .Replacement.Text = "7.º"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

⁂

6. Sustituye espacios entre ordinal y palabra siguiente por espacio de no separación

Ejemplo: reemplaza 6.º E por 6.º E

With Selection.Find
       .Text = "([0-9].[ºª]) @([a-zA-Z])"
       .Replacement.Text = "\1^s\2"
       .Forward = True
       .Wrap = wdFindContinue
       .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

⁂

Descargar la macro

Podés copiar la macro completa y pegarla en el editor de VBA:

Descargar macro

Conclusiones de la macro para ordinales

Espero que las macros de Marisa te sirvan en un doble sentido:

  1. Si eres corrector, seguro que puedes aprovechar estas macros.
  2. Si tienes miedo a las macros y reniegas de cualquier cosa que no sean letras puras, deseo que te des cuenta del proceso por el que pasó Marisa, desde la posición inicial de no dominar ni los comodines ni el lenguaje de macros de Word, y así te sirva de aliciente para dar un paso al frente si la novedad va a ser útil en tu trabajo.

Una vez más, quiero agradecer a Marisa que compartiera sus macros de Word, la de este artículo y la anterior para las abreviaturas de número.

Ahora es tu turno… Sí, tu turno para probar las macros de Marisa, aplicarlas y mejorarlas incluso añadiendo de tu propia cosecha. Si quieres agradecer a Marisa su trabajo o comentar algo, lo puedes hacer a continuación, en la sección Comentarios.

⁂

Si no te quieres perder ningún artículo de Gonduana, suscríbete al boletín del blog con el siguiente formulario o sígueme en LinkedIn, Facebook o Twitter (@jssprt). De esta manera, serás el primero en enterarte de las siguientes publicaciones.

Si quieres leer otros artículos sobre comodines de Word de Gonduana, los tienes todos si filtras por «comodines» en la nube de etiquetas del blog.

Entradas relacionadas

Si te ha gustado el artículo, además de compartirlo en tus redes sociales,

puedes leer otros artículos de Gonduana del mismo estilo:

Cosas que he aprendido este año 2022

30/diciembre/2022

Quería compartir las cosas que aprendí este año, algunas serán obvias para ti, otras no te llamarán la atención, espero que haya alguna que sea

Leer el artículo »

Macro de VBA para pegar sin formato en Word

2/agosto/2020

Al hilo del artículo anterior del blog, algunos me habéis comentado que sería interesante tener también la macro de VBA para pegar sin formato en

Leer el artículo »
Macro de AutoHotkey para pegar sin formato en Word

Macro de AutoHotkey para pegar sin formato en Word

16/julio/2020

Hoy en LinkedIn he leído un artículo de How-To Geek que recomienda usar el atajo de teclado  CTRL + MAYÚS + V  para pegar sin formato en muchas aplicaciones.

Leer el artículo »

Cómo buscar en el diccionario de la RAE con AutoHotkey

6/diciembre/2019

Si te encanta buscar las definiciones en el diccionario, pero te da pereza abrir el diccionario en internet y buscar la palabra, aquí tienes la

Leer el artículo »
Comodines en Excel

Los comodines de Excel

19/noviembre/2019

¿Quién ha dicho que no hay comodines en Excel? Si ya conoces la utilidad de los comodines de Word, tienes que conocer también los comodines

Leer el artículo »

Novedades en el buscador de la RAE

12/noviembre/2019

Hace ya tiempo que podemos consultar por internet el diccionario de la RAE, con la comodidad y la inmediatez que conllevan. Hasta ahora solo se

Leer el artículo »
María Schieda

María Schieda

Curiosa empedernida, flexiblemente obsesiva no compulsiva, me dedico a la edición de textos institucionales, académicos y literarios. Amo las palabras, especialmente las escritas, desde que tengo memoria. Incluso desde antes de saber escribirlas. Los silencios y los sonidos lejanos. La luz, por presencia o ausencia. Y ahora, desde que la memoria me falla bastante, he aprendido a amar también la tecnología. Eso sí, me he tomado mi tiempo y por acá ando siempre de a pie.
Todos los artículos

Publicado en: macros Etiquetado como: comodines, RAE, VBA, Word

Comentarios

  1. Noa dice

    9/agosto/2020 a las 6:49 pm

    Ya ves que tienes aquí un nuevo seguidor y que ya ha picado el anzuelo con las macros de Word. ^_^

    Me parece extraño el último punto de esta macro por dos razones. La primera, el espacio que hay al final del criterio de búsqueda:
    --
    With Selection.Find
    .Text = "([0-9].[ºª]) @([a-zA-Z ])"
    --
    Me da la sensación de que ese espacio se ha colado ahí o, al menos, le veo más sentido si fuera algo así:
    --
    "([0-9].[ºª])[ ]@([a-zA-Z])"
    --
    Pero puede que se me escape algún detalle.

    En segundo lugar, ¿un ordinal va *siempre* unido con espacio de separación a la siguiente palabra? Sí me parece lógico con un texto como este: «La 2.ª Feria del Motor…», pero no cuando decimos algo como «Repartieron pocos premios y se los llevaron los 3 primeros ganadores, pero el 4.º no tuvo tanta suerte».

    Aparte de esto, que me ha llamado la atención, tengo un problema que no sé si alguien ha resuelto ya. Estoy grabando macros y funcionan bien, salvo cuando tengo activado el 'Control de cambios'. Sé que Word trata el texto eliminado como si estuviera oculto, pero está ahí y este interfiere con los criterios de búsqueda y los reemplazos. ¿Sabes si hay alguna forma de evitarlo?

    Un saludo.

    Responder
    • Jesús Prieto dice

      10/agosto/2020 a las 2:18 pm

      Hola, Noa:
      Sobre lo primero que dices, ese espacio se sustituye por un espacio de no separación, para que, por ejemplo, «4.º puesto» quede siempre en la misma línea.
      Sobre lo de que el espacio «siempre va a unido a lo siguiente», entiendo lo que dices, y me parece que en tu ejemplo no debería ir unido. De todas formas, espero a que María se pronuncie al respecto.
      Sobre lo tercero, no sé exactamente lo que quieres:
      Si necesitas que las búsquedas se salten el texto oculto, hay que añadir que el formato sea «No oculto».
      Para ello, habría que añadir esto en algún lugar antes de With Selection.Find:
      Selection.Find.Font.Hidden = False
      y .Format = True dentro del bucle With Selection.Find
      Por otra parte, si lo que quieres es desactivar temporalmente el control de cambios mientras ejecutas la macro, se puede hacer. No lo he probado, pero creo que si colocas estas líneas al principio de la macro:
      If ActiveDocument.TrackRevisions = True
      ActiveDocument.TrackRevisions = False
      y esta otra línea al final:
      ActiveDocument.TrackRevisions = True
      creo que debería funcionar.
      Más información sobre esta cosa rara de TrackRevisions aquí:
      https://docs.microsoft.com/en-us/office/vba/api/Word.Document.TrackRevisions
      ☛ Habría que pulir algo más este código VBA, porque lo ideal sería activar el control de cambios (al final) si estaba activado antes de ejecutar la macro. En fin, sea lo que sea, te lo dejo ya para ti.
      Por cierto: Los reemplazos generales, siempre con mucho cuidadito, cuando no haya excepciones.
      Un saludo,
      … Jesús Prieto …

      Responder
      • Noa dice

        10/agosto/2020 a las 4:47 pm

        Gracias, Jesús. Estudiaré lo que me dices. Mi problema, en resumidas cuentas, es que necesito hacer las correcciones con el 'Control de cambios' activado para que el cliente luego pueda verlos y aceptarlos, pero no sé si el texto eliminado o sustituido mediante 'Buscar y reemplazar' lo convierte en oculto o qué. Sea como sea, interfiere en las macros.
        Por ejemplo, si sustituyo tres puntos por puntos suspensivos, el texto resultante es el texto que he buscado (tachado) y el que he usado para reemplazarlo: "...…". Esto hace que luego no encuentre por ejemplo puntos suspensivos tras un espacio, porque algunos pueden ser ahora " ...…" en lugar de " …".
        No sé si se entiende, pero vuelve cualquier macro compleja una auténtica locura. Trastearé con lo de texto oculto o, al menos, espero aprender a hacerlo. 🙂

        En cuanto al espacio que mencionaba al principio, lo que no entiendo bien es que tras buscar espacios después de las voladitas —es decir, esta parte: "([ºª]) @"— se incluya luego entre corchetes la posibilidad de encontrar aún más espacios —como se aprecia tras la Z: "([a-zA-Z ])"—. Que a lo mejor es una tontería y no tiene mucha importancia, pero me ha dejado intrigado.

        Gracias por tu paciencia. Voy a intentar aprender más cosas por mi cuenta para no robarte más tiempo, pero es que estoy tan verde en esto que a veces no sé ni por dónde empezar y cualquier consejo resulta de gran utilidad. 🙂

        Responder
        • Jesús Prieto dice

          10/agosto/2020 a las 7:11 pm

          Ah, disculpa, ahora veo el espacio que dices. Creo que hay que quitarlo como dices, sí…

          Responder
        • Marisa dice

          13/agosto/2020 a las 4:30 pm

          Hola Noa. Sí, ese espacio es un infiltrado, donde dice: "([0-9].[ºª]) @([a-zA-Z ])" debería decir:"([0-9].[ºª]) @([a-zA-Z])"... ¡Hiciste muy bien la tarea!

          Responder
          • Jesús Prieto dice

            13/agosto/2020 a las 7:23 pm

            Gracias, Marisa;
            Espacio borrado, entonces.

            Responder

Comentar Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Jesús Prieto

Jesús Prieto 2015

Sobre mí

Lo más visto…

Artículos más leídos de Gonduana
Vídeos más vistos de Gonduana
Gonduana en las redes sociales

Últimos artículos

  • Cosas que he aprendido este año 2022
  • Cómo escribir letras griegas con AutoHotkey
  • Macro de VBA para pegar sin formato en Word
  • Macro de AutoHotkey para pegar sin formato en Word
  • Extranjerismos en el ajedrez
  • Cómo buscar en el diccionario de la RAE con AutoHotkey
  • Los comodines de Excel
  • Novedades en el buscador de la RAE
  • Mis macros de Word para ordinales (Marisa E Schieda)
  • Mis macros de Word para abreviaturas de “número”

Nube de etiquetas

anglicismos AutoHotkey cobros comodines copias de seguridad correo español Excel foto fórmulas geografía geometría GTD historia imagen impagos InDesign libros marca matemáticas mouse MT ortografía Outlook parábolas PDF PHP poesía power PowerPoint RAE ratón regex retrasos tarifas teclado tipografía TM Trados Studio VBA vídeo Word WordPress XML zoología

Categorías

  • adaptación (3)
  • blog (11)
  • comercial (24)
  • contabilidad (2)
  • español (6)
  • etimología (5)
  • fiscalidad (2)
  • hardware (3)
  • macros (42)
  • marketing (8)
  • noticias (4)
  • productividad (42)
  • seguridad (5)
  • social (9)
  • software (41)
  • TAO (39)
  • terminología (9)
  • traducción automática (2)
  • traducción literaria (1)
  • tradumática (38)
  • vídeo (18)
Buscar en Gonduana
Política de privacidad
Política de cookies
Aviso legal
Creative Commons

Licencia Creative Commons

Blog de Gonduana: recursos para traductores

Esta web usa cookies
Es cansino, sí, pero la ley europea me obliga a avisarte que este blog, como casi el 100%, usa cookies para recabar datos. ¿Estás de acuerdo con mi Política de cookies? Vale Rechazar Más información
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
GUARDAR Y ACEPTAR