Word tiene insieme un bel po ‘di informazioni sulle immagini che inserisci nei tuoi documenti. Queste informazioni sono necessarie in modo che Word sappia come ridimensionare, posizionare e visualizzare le immagini. Se vuoi trovare maggiori informazioni sulle immagini nel tuo documento, allora devi sapere qualcosa su come Word archivia le informazioni.

Le immagini vengono memorizzate come uno dei due tipi di oggetti grafici: forme regolari o forme in linea. Le forme regolari sono quelle che risiedono sul livello di disegno, al contrario delle forme in linea, che risiedono nel livello di testo. Entrambi i tipi di oggetti vengono archiviati con diverse raccolte di oggetti. Le forme regolari sono nella raccolta Shapes e le forme in linea sono archiviate nella raccolta InlineShapes. Per accedere alle informazioni sugli oggetti, è sufficiente utilizzare un piccolo VBA.

La seguente macro VBA crea un documento che mostra la dimensione di tutti gli oggetti grafici all’interno di un documento, sia in punti che in pixel:

Sub FigureInfo()

Dim iShapeCount As Integer     Dim iILShapeCount As Integer     Dim DocThis As Document     Dim J As Integer     Dim sTemp As String

Set DocThis = ActiveDocument     Documents.Add

iShapeCount = DocThis.Shapes.Count     If iShapeCount > 0 Then         Selection.TypeText Text:="Regular Shapes"

Selection.TypeParagraph     End If     For J = 1 To iShapeCount         Selection.TypeText Text:=DocThis.Shapes(J).Name         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.Shapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.Shapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J

iILShapeCount = DocThis.InlineShapes.Count     If iILShapeCount > 0 Then         Selection.TypeText Text:="Inline Shapes"

Selection.TypeParagraph     End If     For J = 1 To iILShapeCount         Selection.TypeText Text:="Shape " & J         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J End Sub

Notare che la macro restituisce i nomi di forme regolari, ma non i nomi di forme inline. La ragione di ciò è che Word non mantiene i nomi delle forme inline. Quando inserisci una forma regolare nel tuo documento (di nuovo, sul livello di disegno), Word assegna un nome alla forma, come Rettangolo 2 o Ovale 3.

_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 (8343) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365. Puoi trovare una versione di questo suggerimento per vecchia interfaccia del menu di Word qui: