[[20180123140108]] 『スマートガイドの作製について』(D.S.) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『スマートガイドの作製について』(D.S.)

パワーポイントの機能にある、スマートガイド機能を
エクセルVBAで作ろうと思っています。
オートシェイプの矢印を水平に配置し、もう一本、同じ長さの水平な矢印を用意します。
どちらか一方の矢印をドラッグし、もう一方の矢印の真上か真下、あるいはちょうど二つの矢印が重なったときに
2本の矢印の両端に点線のガイド線を出力するプログラムを作りたいと考えています。

それを実装するにあたって、一方のオートシェイプ矢印のドラッグ中に
もうひとつの選択されていないオートシェイプ矢印の位置情報を
取得する必要があるかと思います。

はじめに、オートシェイプ矢印をドラッグ中にもうひとつの選択されていないオートシェイプの位置情報を取得することは
エクセルVBAでは可能でしょうか。

もし可能であれば、その方法を教えていただきたいです。

よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


Excelは、表計算アプリです。コントロールを使う事はできても、コントロールを作る事はできませんよ。シェイプをドラッグ中のイベントを拾えないので、どうしようもないと思います。 VB.NETでそういうコントロールを作って、Excelで利用、なら可能かも知れませんが、それはもうExcelが用意している図形ではありませんから、配置するのが面倒でしょう。

図形のレイアウトなら、私は直線図形をSHiftキーを押しながら配置(斜めにならずに線を引けます)し、これを図形の一端に合わせておき、他の図形もこれに合わせて配置しますね。そして、図形の高さや幅を数値入力して揃えると、見た目が不揃いになるのを防げます。手間ですが、コントロールを自作する事に比べれば、全然楽ですよ。
(???) 2018/01/23(火) 14:24


もひとつ別案。
PowerPointほど優秀ではありませんが、Excelにも似た機能はあります。 それは、オブジェクトを移動する際、ALT を押しっぱなしにする事。 こうすると、セルの境界に合うようにレイアウトできますよ。
(???) 2018/01/23(火) 14:29

???様

ShiftキーやAltキーの機能については知っていたのですが、
スマートガイドがあれば、ソフトとしてかっこいいなあと思ったもので。。。

ご回答ありがとうございました。
(D.S.) 2018/01/23(火) 14:40


開拓精神がおありならば、もうちょっと頑張ってみる余地があるかもです。

以下の「VBA質問箱」の過去ログで、図形のリサイズイベントを追加した方がおりました。試してみたら、Excel2010でも確かにイベントが追加されました。
あとは、複数オブジェクトへの対応と、Moveイベントへの対応ができるか…、ですが。
http://www.vbalab.sakura.ne.jp/vbaqa/data/excel/log/tree_342.htm
(???) 2018/01/23(火) 14:51


???様

ご回答ありがとうございます。
チャレンジしてみようと思います。
(D.S.) 2018/01/23(火) 15:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.