Word mantiene un poco de información junta sobre las imágenes que inserta en sus documentos. Esta información es necesaria para que Word sepa cómo ajustar el tamaño, la posición y la visualización de imágenes. Si desea obtener más información sobre las imágenes en su documento, entonces necesita saber algo sobre cómo Word almacena la información.

Las imágenes se almacenan como dos tipos de objetos gráficos: formas regulares o formas en línea. Las formas regulares son aquellas que residen en la capa de dibujo, a diferencia de las formas en línea, que residen en la capa de texto. Ambos tipos de objetos se almacenan con diferentes colecciones de objetos. Las formas regulares están en la colección Shapes y las formas en línea se almacenan en la colección InlineShapes. Para acceder a la información sobre los objetos, solo necesita usar un poco de VBA.

La siguiente macro de VBA funcionará en Word 2000 (o versiones posteriores) para crear un documento que muestre el tamaño de todos los objetos gráficos dentro de un documento, tanto en puntos como en píxeles:

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

Esta macro no funciona en Word 97 porque Word 97 no reconoce la instrucción PointsToPixels. Si elimina las líneas que usan esta declaración (o crea su propia función PointsToPixels), entonces la macro funcionará bien en Word 97.

Tenga en cuenta que la macro devuelve los nombres de formas regulares, pero no los nombres de formas en línea. La razón de esto es que Word no mantiene los nombres de las formas en línea. Cuando inserta una forma regular en su documento (nuevamente, en la capa de dibujo), Word asigna un nombre a la forma, como Rectángulo 2 u Ovalado 3.

_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 (1497) 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-Determining_Picture_Size_in_a_Macro [Determinación del tamaño de la imagen en una macro].