Rimozione di immagini da più file (Microsoft Word)
Rosario ha un numero enorme di documenti (circa 44.000 di essi), ognuno dei quali contiene un’immagine nell’intestazione. Sta cercando un modo per rimuovere tutta quella grafica senza la necessità di aprire e modificare manualmente ogni documento.
Fortunatamente questo può essere gestito creando una macro. Tutto quello che devi fare è mettere tutti i documenti in una cartella e quindi utilizzare la macro per cercare nella cartella, aprire ogni documento, rimuovere l’immagine e salvare ogni documento. Questo può essere fatto con una macro come la seguente:
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 = "*.docx" ' 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
Questa macro presuppone che si desideri rimuovere tutta la grafica (sia mobile che inline) nell’intestazione. Questi vengono rimossi e ogni file viene salvato di nuovo. La macro non influisce su nessun altro elemento grafico nel documento.
Si noti che questa particolare macro verifica la presenza di file che utilizzano l’estensione DOCX. Se hai documenti che utilizzano estensioni diverse (come DOCM o il vecchio DOC), dovrai eseguire la macro più volte. Tra ogni esecuzione, modificare la linea che imposta il modello per l’estensione del file. (La riga ha il commento alla fine che dice, “file pattern to match”.)
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (9744) si applica a Microsoft Word 2007 e 2010. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: