Compilación de palabras mal escritas de documentos (Microsoft Word)
Robert tiene una carpeta que contiene muchos documentos. Le gustaría encontrar una forma de extraer todas las palabras mal escritas de los documentos y colocar esas palabras en un nuevo documento.
Afortunadamente, Word lo hace relativamente fácil mediante el uso de una macro.
Esto se debe a que se puede acceder a los errores ortográficos en VBA examinando la colección .SpellingError. Cada elemento de esta colección especial representa un error ortográfico en el documento.
Teniendo esto en cuenta, la siguiente macro muestra cómo reunir todos los errores ortográficos de cada documento en una carpeta.
Sub CheckFolderForSpellErrors() 'Copy all misspelled words in each document 'from one directory to a new document. 'Also lists all documents that have no spelling errors Dim cWords As New Collection Dim cDocs As New Collection Dim vItem As Variant Dim rng As Range Dim docSourse As Document Dim docNew As Document Dim vDirectory As String Dim vFile As String Dim bNoSpellingErrors As Boolean Application.ScreenUpdating = False vDirectory = "C:\MyFolder\" ' Path to check ' Find first file to check vFile = Dir(vDirectory & ".doc") Do While vFile <> "" Documents.Open FileName:=vDirectory & vFile Set docSource = ActiveDocument If docSource.SpellingErrors.Count > 0 Then cWords.Add Item:="Spelling errors found in " & vFile & vbCrLf ' add each word to the collection For Each rng In docSource.SpellingErrors cWords.Add Item:=rng.Text & vbCrLf Next Else ' doc has no spelling errors bNoSpellingErrors = True cDocs.Add vFile & vbCrLf End If ActiveDocument.Close (wdDoNotSaveChanges) vFile = Dir Loop Set docNew = Documents.Add For Each vItem In cWords Selection.TypeText vItem Next If bNoSpellingErrors Then Selection.TypeText "These documents have no spelling errors." & vbCrLf For Each vItem In cDocs Selection.TypeText vItem & vbCrLf Next End If Application.ScreenUpdating = True End Sub
La macro usa el comando Dir para buscar cualquier archivo en la carpeta especificada (variable vDirectory) que termine en alguna variante de «doc». Cada uno de estos archivos se carga en Word, a su vez. Mientras está cargada, la colección .SpellingErrors se verifica para ver si contiene algún error. Si es así, el texto de las palabras incorrectamente escritas se agrega a la colección de cWords. Si no es así, el nombre del archivo se agrega a la colección cDocs.
No hay nada especial en las colecciones de cWords o cDocs; se crearon simplemente para contener los errores ortográficos y los nombres de archivo que se descubrieron al examinar los archivos. La macro podría haber utilizado fácilmente matrices de variables en lugar de las colecciones.
Hay un par de cosas a tener en cuenta al ejecutar esta macro.
Primero, la ejecución puede llevar bastante tiempo, dependiendo de la cantidad de documentos en la carpeta y la longitud de cada uno de esos documentos. Cuando ejecuté la macro, lo hice en una carpeta que contenía 9 documentos con un promedio de 97 páginas por documento. La macro tardó poco menos de 8 minutos en completarse y, mientras se estaba ejecutando, no pude hacer nada más en Word. (De hecho, podría preguntarse fácilmente si su sistema está «colgado»)
Otra cosa a tener en cuenta es que la salida puede ser bastante larga y parecer bastante redundante. Esto se debe a que las palabras mal escritas pueden aparecer varias veces en la colección .SpellingErrors. Por ejemplo, digamos que tiene un documento que contiene la palabra «Cftype», que obviamente está marcada como mal escrita. Si la palabra se usa 30 veces en el documento, se marcará 30 veces y, por lo tanto, terminará 30 veces en la lista de errores ortográficos. Aunque está más allá del alcance de esta sugerencia, puede modificar la macro para verificar si una palabra se marcó previamente como mal escrita y luego agregarla solo si es un error ortográfico único.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.
link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (13488) se aplica a Microsoft Word 2007, 2010, 2013 y 2016.