Marcado de varios documentos (Microsoft Word)
Glenn estaba buscando una forma de «colocar una marca» en un documento para indicar que había sido archivado. Además, había muchos documentos de este tipo para marcar, por lo que era deseable una forma de cargarlos, agregar la marca y guardarlos nuevamente.
Hay muchas formas diferentes de lograr tal tarea. Las diferencias están determinadas por exactamente cómo se coloca la «marca» en un documento. Obviamente, la palabra «Archivo» (o alguna terminología similar) podría agregarse a un documento, pero eso afectaría la apariencia real del documento en sí, lo que a menudo no es deseable.
Existe una solución que no implica ninguna marca visible en el documento: utilice las propiedades del documento. Puede establecer una propiedad de documento personalizada que indique si el documento se ha archivado o no. Más tarde, puede buscar la propiedad para determinar qué archivos cumplen sus criterios.
La siguiente macro cargará todos los documentos en un directorio (y posiblemente cualquier subdirectorio) y creará o establecerá una propiedad de documento personalizada que indique que el documento se ha archivado. En este caso, la propiedad personalizada se denomina Archivo y se establece en Verdadero (Sí)
condición.
Public Sub SetArchive() Dim bExists As Boolean With Application.FileSearch .LookIn = "C:\" ' where to search .SearchSubFolders = True ' search the subfolders .FileName = "*.doc" ' file pattern to match ' if more than one match, execute the following code If .Execute() > 0 Then For i = 1 To .FoundFiles.Count ' Open the file Documents.Open FileName:=.FoundFiles(i) ' Begin document changes ' See if the doc variable exists bExists = False For Each varItem In ActiveDocument.CustomDocumentProperties If varItem.Name = "Archive" Then bExists = True Exit For End If Next varItem If Not bExists Then ' Add and set document property ActiveDocument.CustomDocumentProperties.Add _ Name:="Archive", LinkToContent:=False, _ Type:=msoPropertyTypeBoolean, Value:=True Else 'Already exists, so just set it ActiveDocument.CustomDocumentProperties("Archive") = True End If ' End document changes ' Force document to be saved ActiveDocument.Saved = False ' Save and close the current document ActiveDocument.Close wdSaveChanges Next i Else ' Could not find any DOC files MsgBox "No files found." End If End With End Sub
Para usar la macro, simplemente cambie la especificación del directorio en la quinta línea de la macro (comienza con .LookIn). Una vez que se ejecuta, se crea la propiedad Archive y se establece en cada uno de los documentos. Puede ver los resultados cargando uno de los archivos, eligiendo Archivo | Propiedades | Personalizado. La propiedad Archive debería estar visible en el cuadro de diálogo.
Hay una cosa interesante sobre esta macro. Tenga en cuenta que debe «forzar» que se guarde el documento estableciendo la propiedad Guardado del documento en Falso. Si no lo hace, su propiedad personalizada no se guarda. ¿Por qué? Aparentemente, Word no reconoce un cambio en una propiedad personalizada, incluida la adición de una, como motivo para guardar un documento. Por lo tanto, a menos que fuerce la propiedad Saved a False, Word no reconoce que se han producido cambios en el documento.
Si prefiere no utilizar el enfoque de propiedad personalizada para marcar su archivo, puede realizar algunos cambios en esta macro para lograr los resultados deseados. Todo lo que necesita hacer es reemplazar el código entre los comentarios «Comenzar cambios en el documento» y «Finalizar cambios en el documento» por lo que desea hacer en el documento. Por ejemplo, si desea colocar una marca de agua en el documento, simplemente reemplace el código anotado con el código que crea y coloca la marca de agua.
_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 (1647) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:
link: / wordribbon-Marking_Multiple_Documents [Marcado de varios documentos]
.