理系パパの育児とかビジネスとか

メーカー技術者で一児の父である主が、プログラミングを覚えて副収入を目指したり、溺愛してる息子についてのろけたりするブログです。

 ユーザーフォーム上のクリックした位置に図形を追加する

今日の仕事でかなりハマった内容の備忘録として。

画像のある点をクリックして座標を取得し、セルに書き出すコードを作成。

具体的には、ユーザーフォームのイメージに画像を貼り付け、フォームをクリックするとマクロで座標を書き出す。

ここまでは簡単だった。


その後、一つの画像につき複数点取るのでクリックした点にマーキングをしたいと考えた。


結論から言うと「イメージの現在位置を取得してクリックした座標に加算した値を、シェイプの作成位置にする」事で達成できた。

最初はユーザーフォーム内にシェイプを作成しよう、と安易に考えていたが、どうやらユーザーフォームはシェイプ関係に弱いらしく、代替手段として提案されていた小さいラベルを作成する方法についても、「オブジェクトがありません」やら「このメソッドはサポートされていません」やらが出まくって全く実現できる兆しが見られないまま時間だけが過ぎていった。

先述の解決手法についてもまだ十分ではなくて、作成したシェイプはマウスをイメージからはずさないと見えるようにならない。
たぶんマクロを実行してるうちは見せてもらえないってことなんだろうけど、そのうちなんとかしたい。
でもとりあえず最低限の目的を達成できたのでよかった。