
En este artículo ahondamos un poco más en las macros de AutoHotkey, y esta vez vamos a aprovechar la función de Autocorrección de Microsoft Word en cualquier aplicación que tengamos instalada en nuestro sistema operativo Windows.
De esta forma, podrás aprovechar todas las entradas de la Autocorrección de Word (las que Word trae originales, y las que tú hayas insertado) en otra aplicación, por ejemplo, en tu herramienta de traducción asistida, ya sea SDL Trados Studio, memoQ, Wordfast, Déjà Vu…
Suena interesante, ¿verdad?
Si eres habitual a este blog, ya sabes que trato cosas que me han ido bien, y este es un ejemplo más que tú también puedes aprovechar para tu trabajo como traductor.
Introducción a la Autocorrección de Word
La Autocorrección de Word es una interesante función que permite sustituir una cadena de texto por otra. Por ejemplo, de manera predeterminada, Word está configurado para cambiar «(c)» por el símbolo de copyright «©». Desde Word 2007 se puede configurar esta función desde el icono de Office > botón Opciones de Word > menú Revisión > botón Opciones de Autocorrección:
Desde Word 2010 la ruta es parecida: menú Archivo > Opciones > menú Revisión > botón Opciones de Autocorrección.
Se pueden agregar más entradas a ese listado de Autocorrección, y también se pueden borrar. El caso es que puedes tener personalizado tu Word con cientos de entradas de Autocorrección, pero sabes que solo puedes usarlas dentro de Word, en ninguna otra aplicación.
Aquí es donde AutoHotkey nos viene de perillas, porque seremos capaces de extraer todas estas entradas de Autocorrección y podremos trabajar en cualquier otra aplicación como si fuera Word.
¿Cómo se hace?
Es muy fácil: solo sigue leyendo…
Cómo se crea la macro de AutoHotkey
Aunque al final del artículo tienes el enlace para descargarte la macro, te voy a contar primero cómo la he creado, así podrás recrearla tú también:
Primero hay que copiar el siguiente texto en tu Portapapeles de Windows (seleccionar y copiar):
' Exporta todas las entradas de Autocorrección
' a un listado compatible con AutoHotkey
Sub ListadoAutoCorreccion ()
Dim a As AutoCorrectEntry
For Each a In Application.AutoCorrect.Entries
Selection.TypeText "::" & a.Name & "::" & a.Value & vbCr
Next
End Sub
Técnicamente se trata de una macro VBA con un único procedimiento llamado ListadoAutoCorreccion. En el vídeo explico qué hace cada parte de ese código.
Deberás «insertar este texto a un documento de Microsoft Word».
Para ello, abre un documento en blanco en Microsoft Word.
Para añadir la macro VBA a este documento en blanco, abre el Editor de Visual Basic para Aplicaciones; para ello, selecciona la ficha Programador y pulsar el botón Visual Basic (o bien emplea el atajo de teclado ALT+F11 ). Ya en el Editor, crea un nuevo módulo:

y ahí pegas el texto anterior:

Vuelve a Word y usa el atajo ALT+F8 para abrir el cuadro de diálogo Macros.
Selecciona la macro ListadoAutoCorreccion y pulsa el botón Ejecutar.

En menos de un segundo tendrás el listado completo de Autocorrección, dentro del mismo documento de Word:

Para terminar, borras las últimas líneas del documento (en el vídeo cuento porqué), copias todo el texto del documento y lo pegas en una macro de AutoHotkey (en el vídeo cuento cómo).
¡Ya tienes tu macro con todas las entradas de Autocorrección de Word con AutoHotkey!
Como siempre, puedes usar la macro de AutoHotkey en cualquier aplicación, no solo en Word…
Por si acaso lo preguntas, ya puedes olvidarte del documento de Word, no te hace falta para nada más. ¡Ni si quiera ha sido necesario guardarlo!
Vídeo
En el vídeo explico paso a paso cómo se añade esta macro VBA a Word.
Puedes verlo directamente en YouTube en alta resolución (http://www.youtube.com/watch?v=OVGafgsx_CE) o desde aquí:
Descargas
Descárgate este archivo ZIP que contiene:
- la macro de VBA para Microsoft Word;
- la macro de AutoHotkey con todas las entradas de Autocorrección en español de Microsoft Word 2010.
Nota: no sé si la versión 2013 ha añadido alguna entrada más de más de Autocorrección; lo desconozco porque no la tengo instalada.
Con mi Word en español he conseguido la macro de AutoHotkey para español, francés e inglés. Si tienes Word en español y quieres la macro en otro idioma, por ejemplo en italiano, no sabría indicarte cómo hacerlo. Me lo apunto para mirarlo otro día…
Si te interesan las macros, puedes seguirme en Twitter (@jssprt) o apuntarte para recibir mi boletín (un pequeño formulario con tu nombre y correo electrónico). ¡Así no te perderás ningún artículo de macros!
Conclusión de la función de Autocorrección de Word con AutoHotkey
Si tienes apego a las entradas de Autocorrección de Word, aquí tienes una macro de AutoHotkey que te permite aprovecharlas en cualquier aplicación que tengas en tu PC. Estoy pensando en la herramienta TAO, en la que pasamos tantas horas cada día, o en el programa de correo, para que no se escapen mensajes con gazapos por ir deprisa.
Es curioso, ¡esta macro de AutoHotkey se creó mediante una macro de VBA!
Por cierto: hay más de 1100 líneas en esta macro de AutoHotkey, pero tu ordenador no irá más lento por ello. ¡Pruébala!
En mi caso particular, que no siempre estoy traduciendo, ejecuto esta macro de AutoHotkey solo cuando estoy en modo Traducción.







Muchísimas gracias por tu blog tan informativo y útil. Mi consulta es la siguiente. Con frecuencias recibimos textos que debemos traducir a español de Latam y español de España. Lo que hacemos en ese caso es traducir primero a Latam y luego localizarlo a través de un listado de palabras específicas que tenemos (por ej: agregar por añadir, etc.) utilizando la herramienta X-bench. Este método es bastante útil ya que se traduce una vez y luego se lo pasa por Xbench. De todos modos, creo que sería mucho más útil contar con una macro que permita reemplazar automáticamente todos los términos ingresados en formato Tag Editor. Esta macro permite realizar el cambio pero cuando uno escribe la palabra (extremadamente útil en nuestro caso para traducciones nuevas). Existe la posibilidad de correr una macro en tag editor para que cumpla esta función? Muchísimas gracias!
Hola, Guillermo:
Sí, con AutoHotkey también podrías controlar hasta cierto punto Tag Editor.
Por ejemplo, podrías lanzar el cuadro de diálogo de Reemplazar de Tag Editor con CONTROL+H y marcar la casilla de Coincidir mayúsculas/minúsculas, poner las cadenas adecuadas en los cuadros de texto «Buscar» (Agregar) y «Reemplazar con» (Añadir), todo esto automáticamente, excepto que habría que guardar manualmente las cadenas Agregar y Añadir en un archivo de texto aparte.
Luego ya manualmente, podrías ir cambiando cada aparición de «Agregar».
Después cargarías la siguiente pareja de cadenas, por ejemplo, «la PC» y «el PC», y harías lo mismo… Así hasta que termines con el listado que quieres reemplazar.
También podrías reemplazar todo, sería muy rápido, pero no te aconsejaría dejar en manos de una macro un cambio general.
La verdad es que hace mucho que no veo Tag Editor; si lo tuviera más fresco, quizás podría darte alguna indicación concreta, pero es que ya casi no me acuerdo de cómo era…
Mírate los artículos que tengo de AutoHotkey. o en internet, espero que te den una idea de por dónde empezar…
AutoHotkey es muy fácil de programar, pero si no eres experto, puedes tardar 10 horas en programar la macro que hace lo que quieres. Si tienes que empezar desde cero con AutoHotkey, puede que tardes más del doble en escribir la macro. Hay que valorar si te merece la pena esta inversión de tiempo.
En cualquier caso, ya nos dirás si has avanzado algo con este tema.
Un saludo.
... Jesús Prieto ...
¡Muchas gracias por tu tan pronta respuesta! Yo grabé una macro en Word, que al correrla cambia automáticamente esos términos que te comentaba. Pero el problema que tenemos es que no sabemos cómo hacer que esa Macro corra también en el Tag editor. Es decir, no que me cambie la palabra al escribirla, sino que lo haga una vez que la palabra esté escrita (yo tomo el documento bilingüe, corro la macro y tengo todas las palabras y sus variantes cambiadas). Como siempre revisamos exhaustivamente los documentos, este primer paso sería de gran ayuda. Mi duda es cómo, si se puede, integrar esa macro que cree en este programa autohotkey. Muchísimas gracias nuevamente. Ya cree la macro para los ppt y me resultó de gran ayuda!!
Saludos cordiales!!
Hola de nuevo, Guillermo:
Estoy pensando que quizás TagEditor no te deje editar el texto a menos que abras cada segmento… Si es así, prueba a abrir el archivo TTX con el bloc de notas o con algún editor más avanzado de tipo NOTEPAD++.
La base que te he puse en el anterior comentario se mantiene, aunque quizás sea necesario cambiar alguna cosilla (por ejemplo, con el bloc de notas en español necesitarás CTRL+R, y no CTRL+H, para mostrar el cuadro de diálogo Reemplazar).
Saludos.
Hola, Guillermo:
Me alegro de que te sea útil la macro de PowerPoint.
Sobre lo que comentas de la macro de AutoHotkey para TagEditor, te copio aquí la base del código que necesitarías:
;>>>>>>>>>>>>>
;INICIO de la macro
;WIN+O
;El siguiente código se ejecuta al pulsar las teclas Windows+O
#o::
;Mensaje de confirmación para ejecutar la macro, nada más
MsgBox , 1, Se van a reemplazar las cadenas dentro de TagEditor.`n`nAntes de seguir, asegúrese de que tener TagEditor en primer plano
;Envía la combinación de teclas CONTROL+H para ir al principio del documento de TagEditor
;No estoy seguro de que sea necesario…
sendinput ^{Home}
Sleep 100
;Envía la combinación de teclas CONTROL+H a TagEditor para que muestre el cuadro de diálogo Find&Replace
;Creo que el atajo de teclado es CTRL+H
sendinput ^h
Sleep 100
;Envía la cadena para escribirla en el campo Buscar
sendinput Agregar
Sleep 100
;Envía una tabulación para cambiar al campo Reemplazar
sendinput {Tab}
Sleep 100
;Envía la cadena para escribirla en el campo Reemplazar
sendinput Añadir
Sleep 100
;Envía la cadena INTRO para ejecutar el reemplazo
;No estoy seguro de que funcione así, o sea necesario buscar la cadena primero…
sendinput {Enter}
Sleep 100
;Ahora habría que volver al principio del documento, escribir la siguiente cadena, y reemplazar
;Repetir para cada pareja de palabras que se quieren reemplazar
Return
;FIN de la macro
;>>>>>>>>>>>>>>
Crea un archivo AHK, pega el código que te he dado, guarda la macro, tienes que tener TagEditor con el documento abierto, ejecútala con WINDOWS + la letra O, y prueba a ver si te funciona. Por si acaso, para las pruebas, abre en TagEditor un documento que no te importe que se estropee…
Prácticamente, cada línea tiene su comentario, así que deberías poder avanzar con lo que te doy. Ten en cuenta que no tengo TagEditor, así que no he podido probar el código.
Ya me dirás si puedes avanzar.
Un saludo.
... Jesús Prieto ...
Muy bueno el instructivo. Muchas gracias! Una consulta: sabes cuál es y si se puede copiar el archivo que contiene las entradas que utilizamos como Autocorrección en el Word para reemplazarlo en otra PC que utilicemos, así no tener que volver a cargar todas las entradas en el Word de la otra PC ? Muchas gracias!
Hola, Javier:
Con la macro de VBA puedes extraer todas las entradas de Autocorrección. Ya ves que se tarda un minuto (en el vídeo lo tienes explicado todo).
Extraer las entradas es fácil, pero no veo cómo meterlas en otro ordenador de esta forma.
Lo que quieres es algo que está fuera del artículo, pero si crees que el método explicado aquí (en inglés):
https://cybertext.wordpress.com/2017/05/03/word-copy-autocorrect-entries-to-another-computer/
por favor, pásate por aquí de nuevo para contarlo, ya que le puede interesar a otros lectores.
Un abrazo,
… Jesús Prieto …
Buenas tardes Sr. Prieto, tengo poco tiempo trabajando con Word, pero en Auto corrección, e pasado muchas palabras que me hacen falta, la pregunta es si algún día borro Windows se pierde todas las palabras guardadas en Auto correcciones, hay una forma de salvar esas palabras en otro Disco duro, Pen Driver, por favor si tiene una solución se lo voy agradecer
Hola, Adolfo:
La respuesta la tienes en este artículo:
Cómo exportar las entradas de Autocorrección a otro ordenador
¡Suerte!,
… Jesús Prieto …
¡Excelente post, Jesús! He aprendido ya varias cosas muy útiles en tu blog, que para mí es de los más interesantes de traductores en español. Enhorabuena por tu trabajo y gracias por tanta ayuda.
Muchas gracias, Fernando:
Supongo que también tengo que agradecer tus artículos en ASETRAD.
Un fuerte abrazo,
… Jesús Prieto …
¡De nada! 🙂 Literalmente, no son nada comparado con todo el conocimiento que has ido compartiendo tú en tu web.
¡Un abrazo!
Fernando
Muchas gracias, Jesús. Me vino al dedillo esta macro, porque estoy dando los primeros pasos con AHK, pero no quería perder el listado personalizado de autocorrecciones que tengo en Word.
Te cuento que cuando descargué la macro y la metí en VBA, no me funcionó. En vez de & (en TypeText), decía & Lo cambié solo por el símbolo (como figura en la imagen donde muestra el módulo de VBA) y entonces sí funcionó. No sé si esto importa o qué puede ser, porque solo sé menos que rudimentos en VBA.
Me alegro, Marcela.
Respecto al problema de la macro de VBA, supongo que te refieres a que editaste & a m p ; (que se ve en el navegador) y lo dejaste solo en &. Es lo que hay que hacer, así que ¡enhorabuena! El problema es que el complemento que utilizo para colorear el código de las macros falla más que una escopeta de feria y pasa lo que has detectado. Tengo que cambiar el complemento por otro que no me dé problemas y no retoque el código como le parece. Gracias por avisar.
¡Un abrazo!
… Jesús Prieto …