Bob deve contare tutta la grafica in un documento. Alcuni elementi grafici sono in linea e alcuni sono mobili. Alcuni sono stati inseriti come immagini e alcuni sono stati creati utilizzando gli strumenti di disegno in Word. Bob sospetta che ci siano da qualche parte tra 150 e 200 immagini nel documento, ma gli piacerebbe un modo per ottenere un conteggio veloce.

Ci sono un paio di cose che puoi provare per ottenere il conteggio della grafica. La prima cosa è usare una semplice ricerca e sostituzione. Tutto quello che devi fare è cercare ^ ge sostituirlo con ^ &. Questo trova qualsiasi elemento grafico e lo sostituisce con quello che è stato trovato. In altre parole, non sono state apportate modifiche al documento. Tuttavia, Word ti informa, al termine, di quante “sostituzioni” sono state effettuate. Questo conteggio è il numero di elementi grafici nel documento.

Il problema con questo approccio è che conta solo le immagini in linea all’interno del documento. Non “trova e sostituisce” nulla sul livello di disegno. Per ottenere tutte le immagini, dovrai provare un approccio diverso. Ad esempio, potresti utilizzare la funzionalità Vai a di Word. Premere F5 per visualizzare la scheda Vai a della finestra di dialogo Trova e sostituisci. Se scegli Grafica sul lato destro dello schermo, puoi scorrere la grafica nel documento facendo clic sul pulsante Avanti. Se hai un sacco di grafica, potresti semplicemente inserire qualcosa come +150 nella casella e fare clic su Vai a. Salterai a quel numero grafico, se disponibile, e potrai quindi scorrere i restanti, contando man mano che procedi.

Questo approccio è migliore per trovare la grafica rispetto all’approccio trova e sostituisci. Non è perfetto, tuttavia, poiché ci sono punti nel documento in cui è possibile posizionare la grafica che non verrà catturata da Vai a.

(O, onestamente, dal Browser degli oggetti, che utilizza lo stesso meccanismo di ricerca di Vai a.) Questo approccio trova la grafica che è in linea e sul livello di disegno. Tuttavia, non li trova in altre posizioni, come intestazioni o piè di pagina. Per trovarli e includerli nel conteggio, dovrai utilizzare una macro. Quella che segue è una macro che fornirà un conteggio grafico più inclusivo:

Sub CountGraphics()

Const sBkMk = "ReturnHere"



Dim lngSections As Long     Dim lngSectionCounter As Long     Dim lngMainDocInlineShapes As Long     Dim lngMainDocShapes As Long     Dim lngHdrInlineShapes As Long     Dim lngHdrShapeRange As Long     Dim lngFtrInlineShapes As Long     Dim lngFtrShapeRange As Long     Dim lngTotalInlineShapes As Long     Dim lngTotalShapes As Long     Dim sMsgText As String

Application.ScreenUpdating = False

'Get the number of sections in the document.

lngSections = ActiveDocument.Sections.Count

'Get the number of inline objects and     'shape objects in the main document     lngMainDocInlineShapes = ActiveDocument.InlineShapes.Count     lngMainDocShapes = ActiveDocument.Shapes.Count

'Insert a bookmark to return to this place in the document.

ActiveDocument.Bookmarks.Add sBkMk, Selection.Range

'Go to the first page of the document.

Selection.HomeKey wdStory, wdMove

'Cycle through all of the sections in the document     'looking in headers and footers for graphics     For lngSectionCounter = 1 To lngSections         'Go to the header of the current page         ActiveDocument.ActiveWindow.View.SeekView = wdSeekCurrentPageHeader         Selection.WholeStory         'Get the number of inline objects and shape objects         lngHdrInlineShapes = lngHdrInlineShapes _           + Selection.Range.InlineShapes.Count         lngHdrShapeRange = lngHdrShapeRange _           + Selection.Range.ShapeRange.Count

'Go to the footer of the current page         ActiveDocument.ActiveWindow.View.SeekView = wdSeekCurrentPageFooter         Selection.WholeStory         'Get the number of inline objects and shape objects         lngFtrInlineShapes = lngFtrInlineShapes _           + Selection.Range.InlineShapes.Count         lngFtrShapeRange = lngFtrShapeRange _           + Selection.Range.ShapeRange.Count

Selection.GoTo wdGoToSection, wdGoToNext     Next

'Go to the main body of the document.

ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument

'Enable automatic screen updates     Application.ScreenUpdating = True     Application.ScreenRefresh

'Go to the bookmark that was inserted earlier.

If ActiveDocument.Bookmarks.Exists(sBkMk) Then         Selection.GoTo wdGoToBookmark, , , sBkMk         ActiveDocument.Bookmarks(sBkMk).Delete     Else         MsgBox "The bookmark '" & sBkMk & "' does not exist."

End If

'Calculate the total number of inlineshape objects     'and (shape and shaperange) objects     lngTotalInlineShapes = lngMainDocInlineShapes _       + lngHdrInlineShapes + lngFtrInlineShapes     lngTotalShapes = lngMainDocShapes _       + lngHdrShapeRange + lngFtrShapeRange

'Include the values from the variables into the     'text of the message     sMsgText = vbTab & vbTab & "Inline Shapes" _       & vbTab & "Other Shapes" & vbCr _       & "Main Document:" & vbTab & lngMainDocInlineShapes _       & vbTab & vbTab & lngMainDocShapes & vbCr _       & "Headers:" & vbTab & vbTab & lngHdrInlineShapes _       & vbTab & vbTab & lngHdrShapeRange & vbCr _       & "Footers:" & vbTab & vbTab & lngFtrInlineShapes _       & vbTab & vbTab & lngFtrShapeRange & vbCr _       & "Total:" & vbTab & vbTab & lngTotalInlineShapes _       & vbTab & vbTab & lngTotalShapes & vbCr & vbCr _       & "Note: The values for the headers and the footers " _       & "could include duplicates."



'Display the results of the procedure.

MsgBox sMsgText End Sub

Si noti che la macro non ottiene solo il numero di elementi grafici nel documento principale, ma passa anche attraverso ogni sezione del documento ed esamina le intestazioni e i piè di pagina per qualsiasi immagine. Ci sono un paio di cose da ricordare con questa macro che possono influire sulla precisione del conteggio restituito. Tutti questi elementi sono parte integrante del modo in cui Word gestisce la grafica in un documento.

  • Se il documento contiene un’area di disegno, viene trattato come un singolo elemento grafico (un oggetto forma), indipendentemente dal numero di singole forme che contiene.

  • Le forme separate vengono conteggiate separatamente. Quando forme separate vengono raggruppate insieme, vengono conteggiate come una singola forma.

Infine, c’è un altro modo in cui puoi provare a ottenere un conteggio della grafica: salva semplicemente il tuo documento come pagina Web (in formato HTML). Come parte del processo di salvataggio in questo modo, Word salva i file grafici nel documento nella propria cartella. Tutto quello che devi fare è guardare il numero di file nella cartella e avrai una buona idea di quanti elementi grafici erano nel documento. (Il modo in cui salvi un documento in formato HTML è trattato in altri Suggerimenti_parole.)

_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 (10387) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: