Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 図形・オ-トシェイプのグループ化解除を行うWordマクロ

図形・オ-トシェイプのグループ化解除を行うWordマクロ

対象:Word2007, Word2010, Word2013

グループ化された図形(オートシェイプ)のグループ解除を行う、Excelマクロと、PowerPointマクロをご紹介しています。

もちろん、Wordでも同じニーズはあります。
何階層にも及ぶグループ化が行われていると、何度もグループ解除コマンドを実行するのが面倒なのは、どのアプリケーションでも同じです。

このサイト・インストラクターのネタ帳のアクセスログを眺めていても、
「word vba グループ化解除」
「word 2010 マクロ 図形グループ化 解除」
といった検索キーワードが見受けられます。

[スポンサードリンク]

図形のグループ解除を行うサンプルマクロ

以下のようなマクロで、Word文書ファイルの、アクティブなページの、グループ化された図形のグループ解除を行うことができます。

Sub アクティブページの全図形のグループ解除を行う()
 Dim has_grp As Boolean ' グループ化された図形の存在を示すフラグ
 Dim shp As Shape

 has_grp = True
 Do While has_grp
  For Each shp _
  In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
   If shp.Type = msoGroup Then
    has_grp = True
    shp.Ungroup
    Exit For
   Else
    has_grp = False
   End If
  Next shp
 Loop
End Sub

Wordの場合はPowerPointの場合と同じ

構造はPowerPointのグループ解除マクロと同じです。

グループ化されていた図形のグループ解除を行ったあとに、
   If shp.Type = msoGroup Then
    has_grp = True
    shp.Ungroup
    Exit For
   Else
と、一旦For~Nextループを抜けています。

ここをExcel版のように、
   If shp.Type = msoGroup Then
    has_grp = True
    shp.Ungroup
   Else
のようにした場合、グループ解除されない図形が残るケースが発生してしまいます。

関連語句
VBA, Visual Basic for Applications
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 図形・オ-トシェイプのグループ化解除を行うWordマクロ

「Shape・図形」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.