VBA 201号室:描画オブジェクトの名前取得

スポンサーリンク
VBAの部屋

VBAーShapesオブジェクトを使って、Excelシート内で描画オブジェクト・名前を取得します

Kappo
Kappo

Excelシート上にQRコードなどを複数配置した場合などに
 ●一つ一つ選択してプロパティなど変更する
 ●一つ一つ選択して削除する
ってなった場合手間がかかっちゃいますよね!
そんな時はこの部屋の方法で事前にQRコードに固定の名前を付けておいて描画オフジェクトのタイプを使用してQRコードなどオブジェクトの名前を取得できると超~便利ですよ
また、一番したの方にコメント欄があるからよかったら質問・感想などメッセージ入れてください

☆Sheet1にQRコードを配置します☆
1.メニュー-開発を開く
2.リボン内の挿入アイコンでActiveXコントロール内の選択をクリック


3.「Microsoft BarCode Control ###」を選択してOKボタンを押す
(###はバージョンによって変わる)
4.Sheet1にオブジェクトを配置


5.オブジェクトを選択して右クリックでコンテキストメニューを開く
6.メニューの「Microsoft BarCode Contorol ###」ー「プロパティ」をクリックして
  プロパティダイアログを表示させる


7.スタイルのコンボボックスで「11ーQRコード」を選択してOKボタンを押す
  オブジェクトがバーコードからQRコードに変わる


8.オブジェクトを選択して右クリックでコンテキストメニューを開く
9.メニューの「プロパティ」をクリックしてプロパティダイアログを表示させる
10.(オブジェクト名)を”QRコード1”に変更する

☆これで準備が整いました(^^♪☆

それでは、配置したオブジェクトの名前を取得しましょう

☆指定シート内で始めに見つかったオブジェクトの名前を返すサブルーチンです☆

☆サブルーチンプログラムをVBAコードの標準モジュールに追加する☆
1.プロパティ ウィンドウの表示:メニュー=表示ープロパティ ウィンドウをクリック


2.標準モジュールの追加:メニュー=挿入ー標準モジュール
※(Kappo)標準モジュールの名前が判りやすくするようにModule1ー>QrCtrlに変更する

●●サブルーチンプログラム●●
追加した標準モジュール(QrCtrl)にブログラムを記述

サブルーチンの内容
 ShapeObjName(stName As String, shpType As Integer)

  引数 : stName=シート名、shpType=描画オブジェクトのタイプ(下表を参照)

  戻り : 指定した描画オブジェクトで一番最初に見つかったの描画オブジェクトの名前(String)

▼プログラム▼

Public Function ShapeObjName(stName As String, shpType As Integer)

    Dim shp As Shape
    Dim retName As String

    'シート内の描画オブジェクトをループ
    For Each shp In ThisWorkbook.Worksheets(stName).Shapes

        If shp.Type = shpType Then
            Debug.Print(shp.Name)

            retName = shp.Name
            Exit For

        End If

    Next shp

    ShapeObjName = retName

End Function

サブルーチンプログラムが出来たので呼びだすコマンドボタンを配置してプログラムを記述する

1.メニュー-開発を開く
2.リボン内の挿入アイコンでActiveX コントロールーコマンド ボタンをクリック
3.Sheet1にオブジェクトを配置

4.「開発=デザインモード」でコマンドポタンをダブルクリックしてVBAコードを表示

5.コマンドボタンがクリックされた時に実行されるプログラム

Dim objName As String

objName = ShapeObjName(“Sheet1”, msoOLEControlObject)

Call MsgBox(“オブジェクト名=” & objName)

Microsoft BarCode Contorlは、OLEオブジェクトなので
  ーーーーー>描画オブジェクトの指定=msgOLEControlObject(値=12)

配置したオブジェクトの名前=「QRコード1」を取得しました

■描画オブジェクトのタイプの一覧表■

Amazon | 本, ファッション, 家電から食品まで | アマゾン
Amazon.co.jp 公式サイト。アマゾンで本, 日用品, ファッション, 食品, ベビー用品, カー用品ほか一億種の商品をいつでもお安く。通常配送無料(一部を除く)

  

VBAの部屋
スポンサーリンク
シェアする
Kappoをフォローする

コメント

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