図形を選択する方法

図形を選択してみようアイキャッチ VBA

図形を選択するってどうやるの?選ぶだけなのだけど・・・Oh No!!!!

Help見てると選択するだけでも何だか小難しい感じはあるよね?!

図形を選択することができないと、好きなように自動化することができず・・・いろいろ困りますよね?Helpみても素人にはちょっと難しい、ということで図形を選択する方法をご紹介します。

図形名を指定して選択する方法

構文

Visio VBAで図形を選択する構文はこちら。

Select(図形,replaceFlag)

ページ内の全ての図形を選択するならこちらも便利。

SelectAll

replaceFlagについて

構文の中にあるreplaceFlagですがこんな感じです。

定数オプション
visDeselect1現在の選択から削除する
visSelect2現在の選択を置き換える
visSubSelect3グループ内のサブ選択
visSelectAll4すべて選択
visDeselectAll256visDeselectAll

選択解除・・・もできるのか

組み合わせて使うこともできるよ

SelectコマンドのSample

こちらのページにある図形を選択するサンプルです。
何かしら図形を描いておいてください。

replaceFlagをいろいろ変えたサンプルを用意したよ

こんな感じで図形を描いて選択しておきます。

選択する(visSelectを使って)

“Square2″が選択された状態で、visSelectフラグを付けて”Square3″を選んでみます。

コード

Sub test1()

'Square2の図形を選択
ActiveWindow.Select ActivePage.Shapes.Item("Square2"), visSelect

End Sub

実行結果

“Square2″に加えて”Square3″が選択されたと思います。
visSelectは今選択中の図形はそのままにして、新しく図形を選択する設定です。

選択を全部解除する(visDeselectAllを使って)

”Square2”が選ばれた状態で、visDeselectAllとvisSelectフラグを付けて選択をします。

コード

Sub test5()

    'グループを選択
    ActiveWindow.Select ActivePage.Shapes.Item("グループ").Shapes.Item("Square8"), visDeselectAll + visSubSelect
    
End Sub

実行結果

“Square2″は選択が解除され、”Square3″が選択されたと思います。
visDeselectAllは今選択中の図形全ての選択を解除する設定です。

選択を解除する(visDeselectを使って)

”Square4”~”Square7”が選ばれた状態にして、visDeselectフラグを付けて”Square7″だけ選択を解除します。

コード

Sub test5()

    'グループを選択
    ActiveWindow.Select ActivePage.Shapes.Item("グループ").Shapes.Item("Square8"), visDeselectAll + visSubSelect
    
End Sub

実行結果

“Square7″だけ選択が解除されたと思います。
visDeselectは今選択中の図形から、選択した図形の選択を解除する設定です。

グループ内の図形を選択する(visSubSelectを使って)

”Square8”~”Square11”はグループ化されています。選ぶとこんな感じですね。
visSubSelectフラグを付けて、グループ化された図形の中の”Square8″を選択します。

コード

Sub test5()

    'グループを選択
    ActiveWindow.Select ActivePage.Shapes.Item("グループ").Shapes.Item("Square8"), visSubSelect
    
End Sub

実行結果

“Square8″がサブ選択されたと思います。

ちなみにここでvisSelectフラグを付けるとエラーメッセージが出るよ

全ての図形を選択する(visSelectAllを使って)

visSelectAllフラグを付けて、ページ内の全ての図形を選択します。

コード

Sub test8()
    
    ' ページ内のすべての図形を選択
    ActiveWindow.Select ActivePage.Shapes.Item(1), visSelectAll
    
End Sub

実行結果

全ての図形が選択されたと思います。

次はSelectAllで全ての図形を選択する方法

ページ内の全ての図形を選択、削除するサンプルです。

Sample Code

Sub test9()

'ページ内のすべての図形を選択
ActiveWindow.SelectAll


'削除
ActiveWindow.Selection.Delete

End Sub

詳しくはこちら↓↓↓の記事にあるのでここではサンプルCodeだけっ。

こんなのあったら便利かも

All Deleteって常備しておいても良いよね

タイトルとURLをコピーしました