動作検証バージョン:Windows版Word(バージョン1902 ビルド11328.20146)
「word vba 行内の図を前面に」
「行内オブジェクトを前面に変換するマクロ」
という検索キーワードに気が付きました。
いつものように簡単なサンプルをご紹介します。
[スポンサードリンク]
行内オブジェクトを浮動オブジェクトの前面に変換するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブな文書で、文字列の折り返しが行内になっている図が、前面に変更されます。
Sub 文字列の折り返しが行内の図を前面に()
Dim ishp As InlineShape
For Each ishp In ActiveDocument.InlineShapes
ishp.ConvertToShape.WrapFormat.Type = wdWrapFront
Next
End Sub
Dim ishp As InlineShape
For Each ishp In ActiveDocument.InlineShapes
ishp.ConvertToShape.WrapFormat.Type = wdWrapFront
Next
End Sub
InlineShape.ConvertToShapeメソッドで行内オブジェクトを浮動オブジェクトに変換
InlineShapeオブジェクトには、行内オブジェクトを浮動オブジェクトにするConvertToShapeメソッドが用意されています。
オブジェクトブラウザーの詳細ペインに「Function ConvertToShape() As Shape」と表示されているとおり、InlineShape.ConvertToShapeメソッドが実行されると、浮動オブジェクトに変換されたShapeオブジェクトを返しますから、ShapeオブジェクトのWrapFormatプロパティでWrapFormatオブジェクトを取得して、
WrapFormatオブジェクトのTypeプロパティに、
WdWrapType列挙に定義されている前面を指定する定数wdWrapFrontを設定しています。
[スポンサードリンク]
- Newer:TEXT関数で和暦年を
- Older:R1C1形式で範囲指定
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » VBAで行内オブジェクトを浮動オブジェクトの前面に