もめんの格闘日記

主にPowerPointを中心としたPCのTips的なものを書いていく予定です。

【PowerPointマクロ】図の縦横比固定を解除する

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に換算するやつです。

 

今回は以上です。

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