Excelシートに貼り付けたオートシェープの移動方法

解決


えくせる  2010-06-03 10:27:26  No: 102414  IP: [192.*.*.*]

VB6.0  SP6
Office2000

エクセルシートにオートシェープを貼り付けています。
貼り付けたオートシェープを移動させたいのですが、
・貼り付けたオートシェープのオブジェクト名を知る方法がわからない。
・貼り付けたオートシェープの移動方法(どんなコードを書けばいいのか)がわからない。

ご教授願います。

編集 削除
魔界の仮面弁士  2010-06-03 12:54:11  No: 102415  IP: [192.*.*.*]

> オブジェクト名を知る方法がわからない。
オートシェイプをコードで作成しているのであれば、
作成時に命名しておけば済みますね。


一方、名前が不明な場合は(ユーザー操作で作成された物など)、
「どのオートシェイプを操作するのか」を区別せねばなりません。

シート上のシェイプが一つだけならば、対象 Worksheet に対して
.Shapes(1) でアクセスできますが、複数のシェイプがある場合には
それぞれを列挙して、シェイプの色や位置などを調査し、どれが
目的のシェイプかどうかを調べていくことになるでしょう。


> 移動方法
Shape オブジェクトの Left / Top プロパティ等を操作してみてください。
これらを 0 にすれば、シートの左上に配置されることになります。

編集 削除
えくせる  2010-06-03 19:09:07  No: 102416  IP: [192.*.*.*]

魔界の仮面弁士様回答ありがとうございます。
.Shapes(1)でやってみたら、移動させることができました。
また何かありましたらお願いします。

編集 削除