Rosario tiene una gran cantidad de documentos (alrededor de 44.000 de ellos), cada uno de los cuales contiene un gráfico en el encabezado. Ella está buscando una forma de eliminar todos esos gráficos sin la necesidad de abrir y modificar cada documento manualmente.

Afortunadamente, esto se puede manejar creando una macro. Todo lo que necesita hacer es poner todos los documentos en una carpeta y luego usar la macro para buscar en la carpeta, abrir cada documento, quitar el gráfico y guardar cada documento. Esto se puede hacer con una macro como la siguiente:

Sub StripGraphics()

Dim oShape As Shape     Dim oIShape As InlineShape     Dim I As Integer     Dim J As Integer

With Application.FileSearch         .LookIn = "C:\MyStuff\"     ' 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             MsgBox "Found " & .FoundFiles.Count & " file(s)."



' for each file you find, run this loop             For I = 1 To .FoundFiles.Count                 ' open the file based on its index position                 Documents.Open FileName:=.FoundFiles(I)



' document is now active, check all sections                 For J = 1 To ActiveDocument.Sections.Count                     With ActiveDocument.Sections(J).Headers(wdHeaderFooterPrimary)

' remove floating graphics from header                         If .Shapes.Count > 0 Then                             For Each oShape In .Shapes                                 oShape.Delete                             Next oShape                         End If                         ' remove inline graphics from header                         If .Range.InlineShapes.Count > 0 Then                             For Each oIShape In .Range.InlineShapes                                 oIShape.Delete                             Next oIShape                         End If                     End With                     With ActiveDocument.Sections(J).Headers(wdHeaderFooterFirstPage)

' remove floating graphics from header                         If .Shapes.Count > 0 Then                             For Each oShape In .Shapes                                 oShape.Delete                             Next oShape                         End If                         ' remove inline graphics from header                         If .Range.InlineShapes.Count > 0 Then                             For Each oIShape In .Range.InlineShapes                                 oIShape.Delete                             Next oIShape                         End If                     End With                 Next J

' save and close the current document                 ActiveDocument.Close wdSaveChanges             Next I         Else             MsgBox "No files found."

End If     End With End Sub

Esta macro supone que desea eliminar todos los gráficos (tanto flotantes como en línea) en el encabezado. Estos se eliminan y cada archivo se vuelve a guardar. La macro no afecta a ningún otro gráfico del documento.

_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 (311) 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-Removing_Pictures_from_Multiple_Files [Eliminando imágenes de varios archivos].