Wordは、ドキュメントに挿入する画像に関するかなりの情報をまとめて保持します。この情報は、Wordが画像のサイズ変更、配置、表示の方法を知るために必要です。ドキュメント内の画像に関する詳細情報を知りたい場合は、Wordが情報を保存する方法について何かを知る必要があります。

画像は、通常の形状またはインライン形状の2種類のグラフィックオブジェクトとして保存されます。通常の形状は、テキストレイヤーに存在するインライン形状とは対照的に、描画レイヤーに存在する形状です。どちらのタイプのオブジェクトも、異なるオブジェクトコレクションとともに保存されます。通常の図形はShapesコレクションにあり、インライン図形はInlineShapesコレクションに保存されます。オブジェクトに関する情報にアクセスするには、小さなVBAを使用する必要があります。

次のVBAマクロはWord2000(またはそれ以降のバージョン)で機能し、ドキュメント内のすべてのグラフィックスオブジェクトのサイズをポイントとピクセルの両方で表示するドキュメントを作成します。

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

Word 97はPointsToPixelsステートメントを認識しないため、このマクロはWord97では機能しません。このステートメントを使用する行を削除する(または独自のPointsToPixels関数を作成する)と、マクロはWord97で正常に機能します。

マクロは通常の形状の名前を返しますが、インライン形状の名前は返さないことに注意してください。これは、Wordがインラインシェイプの名前を保持していないためです。ドキュメントに(ここでも描画レイヤーに)通常の図形を挿入すると、Wordは長方形2や楕円形3などの名前を図形に割り当てます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1497)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: