PowerPointで図やオートシェイプの縦横比固定を解除するマクロを紹介します。
コードは以下です。
(PowerPoint2010で動作確認してます)
縦横比の固定を解除するマクロ
Sub sample()
ActiveWindow.Selection.ShapeRange.LockAspectRatio = msoFalse
End Sub
これで選択しているシェイプの縦横比が固定されなくなります。
次は全スライドの全シェイプの縦横比が固定されなくなくマクロです。
Sub sample()
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
shp.LockAspectRatio = msoFalse
Next shp
Next sld
End Sub
縦横比が固定された場合の幅と高さ
ここからは、ちなみにって感じの内容になります。
オートシェイプの図形は初めから縦横比は固定されていません。
挿入したJPEG等の図は初めから縦横比が固定されています。
縦横比が固定されたシェイプの大きさをマクロ上で変えた場合、最後に変更した項目に引っ張られます。
例えば次のマクロでは元々の大きさが高さ10cm×幅20cmの場合は、幅(Width)が最後に変更されているので、5cm×10cmになります。
Sub sample()
With ActiveWindow.Selection.ShapeRange
.LockAspectRatio = msoTrue
.Height = 20 * 72 / 2.54
.Width = 10 * 72 / 2.54
End With
End Sub
*72/2.54はcmをpixelに換算するやつです。
今回は以上です。
ありがとうございました。