大人になっても苦手な食べ物、ありますか?

VBAでシェイプの縦横比を%指定で変更したく、下記のように書いています

ActiveSheet.Shapes("Picture 208").Select
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.ScaleWidth 2, msoFalse '横2倍の大きさに

ところが、ScaleWidthが見ている数値が元の図形のものと違うようです。原因を探すためにシェイプの原型のサイズ(幅や高さの数値)を知りたいのですが、VBAからアクセスできるプロパティやメソッドはあるでしょうか?

A 回答 (1件)

元のサイズがいくつかはおいといて、コード自体が間違ってませんか?



LockAspectRatio = msoFalse
これはいいとして、
ScaleWidth 2, msoTrue
ってしないと「元のサイズを基準にする」で 2倍になってくれませんよ。

Dim myShape As Shape
Set myShape = ActiveSheet.Shapes("Picture 208")
myShape.LockAspectRatio = msoFalse
myShape.ScaleHeight 2, msoTrue
myShape.ScaleWidth 2, msoTrue
    • good
    • 0
この回答へのお礼

ありがとうございました。解決しました。

お礼日時:2006/06/30 22:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報